android 混淆报错 请看图片 20C

To enable ProGuard in your project, edit project.properties

to define the proguard.config property as described in that file.

#

Add project specific ProGuard rules here.

By default, the flags in this file are appended to flags specified

in ${sdk.dir}/tools/proguard/proguard-android.txt

You can edit the include path and order by changing the ProGuard

include property in project.properties.

#

For more details, see

http://developer.android.com/guide/developing/tools/proguard.html

Add any project specific keep options here:

If your project uses WebView with JS, uncomment the following

and specify the fully qualified class name to the JavaScript interface

class:

#-keepclassmembers class fqcn.of.javascript.interface.for.webview {

public *;

#}

#代码混淆压缩比例
-optimizationpasses 5

#混淆时不使用大小写混合,混淆后的类名为小写
-dontusemixedcaseclassnames

#指定不去忽虑非公共的库的类
-dontskipnonpubliclibraryclasses

#指定不去忽虑非公共的库的类的成员
-dontskipnonpubliclibraryclassmembers

#不做预校验,preverify是proguard的四个步骤之一
#Android不需要preverify,去掉这一步可加快混淆速度
-dontpreverify

#有了verbose这句话,混淆后就会产生映射文件
#包含有类名 -> 混淆后类名的映射关系
-verbose
-printmapping priguardMapping.txt

#指定混淆时采用的算法,后面的参数是一个过滤器
#这个过滤器是谷歌推荐的算法,一般不改变
-optimizations !code/simplification/artithmetic,!field/*,!class/merging/*

#保护代码中的Annotation不被混淆
#这在JSON实体映射时非常重要,比如fastJson
-keepattributes Annotation

#避免混淆泛型
#这在JSON实体映射时非常重要,比如fastJson
-keepattributes Signature

#抛出异常时保留代码行号
-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,EnclosingMethod

#保留所有的本地native方法不被混淆
-keepclasseswithmembernames class * {
native ;
}

#保留了继承Activity,Application这些类的子类

比如第一行就保证了所有Activity的子类不要被混淆

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep public class com.android.vending.licensing.ILicensingService

#保留Activity中的方法参数是view的方法
#从而是我在layout里面编写onClick就不会被影响
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}

#枚举类不被混淆
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

保留自定义控件(继承自View)不能被混淆

-keep public class * extends android.view.View {
public (android.content.Context);
public (android.content.Context, android.util.AttributeSet);
public (android.content.Context, android.util.AttributeSet, int);
public void set*(***);
*** get* ();
}

保留Parcelable序列化的类不能被混淆

-keep class * implements android.os.Parcelable{
public static final android.os.Parcelable$Creator *;
}

保留Serializable 序列化的类不被混淆

-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient ;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}

对R文件下的所有类及其方法,都不能被混淆

-keepclassmembers class **.R$* {
*;
}

对于带有回调函数onXXEvent的,不能混淆

-keepclassmembers class * {
void (*On*Event);
}

#实体类不参与混淆全部忽略
-keep class com.lefu.puhui.bases.newwork.reqmodel.** {*; }
-keep class com.lefu.puhui.bases.newwork.respmodel.** { ; }
-keep class com.lefu.puhui.bases.update.entity.Channel { *; }
-keep class com.lefu.puhui.bases.UserInfo {
;}
-keep class com.lefu.puhui.bases.GladlyStuLoan {*;}
-keep class com.lefu.puhui.bases.utils.CiphersUtil {*;}
-keep class com.lefu.puhui.bases.utils.SignMd5Util {*;}
-keep class com.lefu.puhui.bases.utils.MyToast {*;}
-keep class com.lefu.puhui.bases.utils.GenerateDeviceUniqueID {*;}
-keep class com.lefu.puhui.bases.utils.DataCleanManager {*;}
-keep class com.lefu.puhui.bases.utils.ViewHolder {*;}
-keep class com.lefu.puhui.models.home.network.reqmodel.** { ; }
-keep class com.lefu.puhui.models.home.network.respmodel.
* { ; }
-keep class com.lefu.puhui.models.main.network.reqmodel.
* { ; }
-keep class com.lefu.puhui.models.main.network.respmodel.
* { ; }
-keep class com.lefu.puhui.models.makemoney.network.reqmodel.
* { ; }
-keep class com.lefu.puhui.models.makemoney.network.respmodel.
* { ; }
-keep class com.lefu.puhui.models.more.network.reqmodel.
* { ; }
-keep class com.lefu.puhui.models.more.network.respmodel.
* { ; }
-keep class com.lefu.puhui.models.personalcenter.network.reqmodel.
* { ; }
-keep class com.lefu.puhui.models.personalcenter.network.respmodel.
* { *; }

#BaseFramework
-keep class com.bfec.BaseFramework.libraries.common.model.AccessResult {*;}
-keep class * extends com.bfec.BaseFramework.libraries.common.model.AccessResult {*;}
-keep class com.bfec.BaseFramework.libraries.common.model.RequestModel {*;}
-keep class * extends com.bfec.BaseFramework.libraries.common.model.RequestModel {*;}
-keep class com.bfec.BaseFramework.libraries.common.model.ResponseModel {*;}
-keep class * extends com.bfec.BaseFramework.libraries.common.model.ResponseModel {*;}

AMap_Location_V2.4.0

-libraryjars libs/AMap_Location_V2.4.0_20160308.jar
-keep class com.amap.** {*;}
-keep class com.autonavi.** {*;}
-keep class com.loc.** {*;}
-dontwarn com.amap.**
-dontwarn com.autonavi.**
-dontwarn com.loc.**

#android-support-v4
-libraryjars ../BaseFramework/libs/android-support-v4.jar
-keep class android.support.v4.** {*;}
-keep interface android.support.v4.** {*;}
-keep public class * extends android.support.v4.** {*;}
-dontwarn android.support.v4.**
-dontwarn android.support.annotaion.**

#bugly_crash_release__2.1.5
-libraryjars libs/bugly_crash_release__2.1.5.jar
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}

#butterknife
-libraryjars libs/ButterKnife_v7.0.1.jar
-keep class butterknife.** { ; }
-dontwarn butterknife.internal.
*
-keep class **$$ViewBinder { ; }
-keepclasseswithmembernames class * {
@butterknife.
;
}
-keepclasseswithmembernames class * {
@butterknife.* ;
}

#commons-codec-1.10
-libraryjars libs/commons-codec-1.10.jar
-keep class org.apache.** { *; }

#CommonUtil-1.0.8
-libraryjars libs/CommonUtil-1.0.8.jar
-keep class com.pay.** { ; }
-dontwarn com.pay.
*

#jpush-android-2.1.3
-libraryjars libs/jpush-android-2.1.3.jar
-dontoptimize
-dontwarn cn.jpush.**
-keep class cn.jpush.** { ; }
-dontwarn com.google.
*
-keep class com.google.gson.** {*;}
-dontwarn com.google.**
-keep class com.google.protobuf.** {*;}

#mta-sdk-1.6.2
-keep class com.tencent.** { *; }

#pinyin4j
-libraryjars libs/pinyin4j-2.5.0.jar
-dontwarn net.soureceforge.pinyin4j.**
-dontwarn demo.**
-keep class net.sourceforge.pinyin4j.** { ;}
-keep class demo.
* { *;}

#umeng
-libraryjars libs/umeng_social_sdk.jar
-dontwarn com.umeng.**
-keep class com.umeng*.** {*; }

#niversal-image-loader
-libraryjars libs/Universal_Image_Loader_v1.9.4.jar
-keep class com.nostra13.universalimageloader.** {*;}
-dontwarn com.nostra13.universalimageloader.**

#微博报下所有类及类里面的内容都不要混淆
-keep class com.sina.weibo.sdk.** { *; }

Gson

-libraryjars ../BaseFramework/libs/gson.jar
-keep class sun.misc.Unsafe {*;}
-keep class com.google.gson.** {*;}
-keep interface com.google.gson.** {*;}
-dontwarn com.google.gson.**

#httpmime
-libraryjars ../WelabSDK/libs/httpmime-4.1.1.jar
-keep class org.apache.http.** {*;}
-dontwarn org.apache.http.**

#LitePal
-libraryjars ../BaseFramework/libs/litepal.jar
-dontwarn org.litepal.*
-keep class org.litepal.** { ; }
-keep enum org.litepal.
*
-keep interface org.litepal.** { ; }
-keep public class * extends org.litepal.
*
-keepclassmembers class * extends org.litepal.crud.DataSupport{ *; }

#pulltorefresh
-libraryjars ../Library
-dontwarn com.handmark.pulltorefresh.library.**
-keep class com.handmark.pulltorefresh.library.** { ;}
-dontwarn com.handmark.pulltorefresh.library.extras.
*
-keep class com.handmark.pulltorefresh.library.extras.** { ;}
-dontwarn com.handmark.pulltorefresh.library.internal.
*
-keep class com.handmark.pulltorefresh.library.internal.** { *;}

#fastjson
-libraryjars ../WelabSDK/libs/fastjson-1.1.45.android.jar
-keep class com.alibaba.fastjson.** { ; }
-dontwarn com.alibaba.fastjson.
*

#org.apache.http.legacy
-libraryjars ../WelabSDK/libs/org.apache.http.legacy.jar
-keep class android.net.compatibility.** {*;}
-keep class android.net.http.** {*;}
-keep class com.android.internal.http.multipart.** {*;}
-keep class org.apache.** {*;}
-dontwarn android.net.**
-dontwarn org.apache.http.**

#PersonalSocialReportSDK
-libraryjars ../WelabSDK/libs/PersonalSocialReportSDK.jar
-dontwarn info.kuaicha.**

#jna-min
-libraryjars ../WelabFaceCheck/libs/jna-min.jar
-dontwarn com.sun.**

-keep class com.sun.jna.Native

-ignorewarnings

图片说明

2个回答

cannot be cast to java.lang.string错误是类型转换错误,不是String类型的实例转成String的异常。

先运行一下看看报错吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android 混淆报错,使用的是android studio

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. > java.io.IOException: Please correct the above warnings first.

android 混淆问题 总是报错

Error:Execution failed for task ':app:shrinkReleaseMultiDexComponents'. > java.io.IOException: The output jar [F:\Android\android studio\Balala\app\build\intermediates\multi-dex\release\componentClasses.jar] must be specified after an input jar, or it will be empty. Error:Execution failed for task ':app:shrinkReleaseMultiDexComponents'. > java.io.IOException: The output jar [F:\Android\android studio\Balala\app\build\intermediates\multi-dex\release\componentClasses.jar] must be specified after an input jar, or it will be empty.

android studio 打包混淆时,报错

用studio打包的时候,一直提示Warning:Exception while processing task java.io.IOException: java.lang.IllegalArgumentException: Can't find common super class of [com/cci/webrtcsdk/cq] (with 1 known super classes) and [java/lang/String] (with 2 known super classes) 从网上也看了很多相关问题。但是都设置了也还是不行。 我的proguard-rules.pro 里面设置的 -keep class com.cci.webrtcsdk.** { *; } -dontwarn com.cci.webrtcsdk.** 还是会报错。求解答。。

Eclipse项目转到Android Studio混淆加密报错

我的AS版本是1.5的,直接使用AS的Import Eclipse (etc)功能,导入Eclipse项目。导入成功后,可以进行调试,生成apk。 但是在混淆加密的时候,就提示重复导入第三方jar包. Error:java.io.IOException: Can't read BaiduLBS_Android.jar (;;;;;;!META-INF/MANIFEST.MF)] (Duplicate zip entry [com/a/a/u.class == BaiduLBS_Android.jar]) Error:java.io.IOException: Duplicate zip entry [com/a/a/u.class == BaiduLBS_Android.jar:com/]

android代码混淆打包报错

FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:shrinkReleaseMultiDexComponents'. > java.io.IOException: The output jar [/root/.jenkins/jobs/Android-PRD/workspace/app/build/intermediates/multi-dex/release/componentClasses.jar] must be specified after an input jar, or it will be empty. 打包时报这个错,求教该怎么解决

android混淆代码后崩溃日志中不显示行号的问题

android混淆代码后崩溃日志中不显示行号,找崩溃的地方很不方便,如何解决,求大神指点,谢谢!

android代码混淆时报错

android代码混淆时报错,本地库文件在 android_41945.jar 中检测到,可是我根本都不知道 android_41945.jar 是个什么文件,我项目中都找不到,不知怎么解决这种问题。 出错信息如下: [2014-12-18 14:23:52 - EParkV3.0] Native libraries detected in 'android_41945.jar'. See console for more information. [2014-12-18 14:23:52 - EParkV3.0] The library 'android_41945.jar' contains native libraries that will not run on the device. [2014-12-18 14:23:52 - EParkV3.0] The following libraries were found: [2014-12-18 14:23:52 - EParkV3.0] - libamapv304.so [2014-12-18 14:23:52 - EParkV3.0] - libamapv304ex.so [2014-12-18 14:23:52 - EParkV3.0] - libmsc.so [2014-12-18 14:23:52 - EParkV3.0] - libtbt.so

android studio 混淆后运行报错

![图片说明](https://img-ask.csdn.net/upload/201609/14/1473824447_46207.png)

android工程使用gson的typetoken类以后代码混淆出错的问题

我没有对gson和使用到的实体bean类进行混淆,但是发现有闪退现象,反编译之后发现 在创建typetoken的时候,被莫名其妙混淆了 ![图片说明](https://img-ask.csdn.net/upload/201605/14/1463235931_861578.png) 然后我去查看typetoken类发现其实并没有混淆typetoken ![图片说明](https://img-ask.csdn.net/upload/201605/14/1463235972_860918.png) 现在就出现了这个报错导致闪退 ![图片说明](https://img-ask.csdn.net/upload/201605/14/1463235997_429241.png) 求高人帮忙解决下这个问题

Android 开发中接入支付宝功能后混淆问题

我在Android studio 开发Android项目时接入支付宝功能后出现了,重用包引用的问题。 报错的错误是:“Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. > java.io.IOException: The same input jar [D:\MyApplication\***\app\libs\alipaySdk-20160516.jar] is specified twice.” 我的build:![图片说明](https://img-ask.csdn.net/upload/201608/05/1470390189_516741.png) 我添加的sdk:![图片说明](https://img-ask.csdn.net/upload/201608/05/1470390232_53143.png) 我的混淆:![图片说明](https://img-ask.csdn.net/upload/201608/05/1470390255_451249.png)

Android混淆 包空指针的错误

![图片说明](https://img-ask.csdn.net/upload/201506/16/1434434311_258007.png)

Android 不能被混淆问题!

我混淆代码不知道为什么, 我A类继承Activity 只要继承Activity类名字都被混淆了,而继承A类都没有被混淆!

android studio 混淆后,打包报错!!!

`` > Exception while processing task java.io.IOException: The same input jar [E:\Work\gv\app\libs\open_sdk_r5509.jar] is specified twice. > at proguard.ConfigurationChecker.checkConflicts(ConfigurationChecker.java:216) > at proguard.ConfigurationChecker.check(ConfigurationChecker.java:83) > at proguard.ProGuard.execute(ProGuard.java:73) > at proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:1074) > at com.android.build.gradle.tasks.AndroidProGuardTask.doMinification(AndroidProGuardTask.java:139) at com.android.build.gradle.tasks.AndroidProGuardTask$1.run(AndroidProGuardTask.java:115) > at com.android.builder.tasks.Job.runTask(Job.java:48) > at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41) > at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:227) > at java.lang.Thread.run(Thread.java:745) > :app:dexAnzhiRelease UP-TO-DATE > :app:validateReleaseSigning > :app:packageAnzhiRelease FAILED > FAILURE: Build failed with an exception. > * What went wrong: > Execution failed for task ':app:packageAnzhiRelease'. > Unable to compute hash of E:\Work\gv\app\build\intermediates\classes-proguard\anzhi\release\classes.jar * Try: > Run with --stacktrace option to get the stack trace. Run with --info or --debug > option to get more log output. > BUILD FAILED > Total time: 18.962 secs ` > ``` 请大神指导,小弟在线求。刚才在网上学习了混淆技巧,把混淆模板复制过去,然后打包报错。

导入支付宝之后混淆打包报错了

Warning:com.alipay.android.phone.mrpc.core.b: can't find referenced method 'org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int,android.net.SSLSessionCache)' in library class android.net.SSLCertificateSocketFactory 之前混淆没有问题。导入支付宝 之后混淆提示这个错

Unity与Android交互报错找不到方法,怎么解决?

因为项目需要,需要调用安卓的相册,jar在androidstudio写好导过来的, 写了个和项目包名一样的demo,真机完美测试正常,放到项目中的时候就是不行,搜索无果,困扰不已,求详细解答 ![图片说明](https://img-ask.csdn.net/upload/201911/11/1573439438_256022.png)![图片说明](https://img-ask.csdn.net/upload/201911/11/1573439447_972307.png) demo和项目的调用方法都是一样的 AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); jo.Call("TakePhoto"); ``` ```

android如何混淆带有.so库文件

网上看了很多代码混淆的方案,但是无论哪个方法都无法把.so文件里面的代码给混淆掉,不知道是哪里没做还是本身gcc编译出来的.so文件就是无法混淆的。求大牛解答。项目是由cocos2d-x写的,现在想在安卓版中混淆掉这些代码

Android 混淆堆栈信息解码异常

http://www.it165.net/pro/html/201409/23105.html#comment_iframe 参照链接步骤执行完毕后,堆栈信息无法解码,问下什么原因?

android duplicate entry报错

一个项目有两个模块引入了同一个库,引入方式如下: ``` 1、compile 'com.jph.takephoto:takephoto_library:4.0.3' 2、compile(name: 'takephoto_library', ext: 'aar') ``` 项目真机可以正常运行,可是打包APK的时候报错: Cause: duplicate entry: com/jph/takephoto/compress/CompressImageUtil$2.class 下面两张图是引入库: 1、![图片说明](https://img-ask.csdn.net/upload/201909/18/1568787034_365295.jpg) ![图片说明](https://img-ask.csdn.net/upload/201909/18/1568787049_760139.jpg)

android proguard混淆后,效果和原来的不一致

最近在学习android proguard,但是看了很多的博客和demo,自己练手的时候出现的问题久久不会解决,郁闷已久,虽求助大家。 问题描述:一个android动画的demo,没有混淆之后效果都能实现,但是混淆之后动画效果都没有效果了。 我引用了一个第三方jar包:afinal_0.5.1_bin.jar proguard-project.txt: -dontoptimize -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -dontwarn -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keepattributes InnerClasses,LineNumberTable -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keep class net.tsz.afinal.**{*;} -keep class android.webkit.**{*;} -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class **.R$* { *; } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } ```MainActivity.java package com.example.animation; import net.tsz.afinal.FinalActivity; import net.tsz.afinal.annotation.view.ViewInject; import android.content.Intent; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.TranslateAnimation; import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends FinalActivity { @ViewInject(id = R.id.btn_scale_anim, click = "onClick") private Button mBtnScale; @ViewInject(id = R.id.btn_alpha_anim, click = "onClick") private Button mBtnAlpha; @ViewInject(id = R.id.btn_rotate_anim, click = "onClick") private Button mBtnRotate; @ViewInject(id = R.id.btn_translate_anim, click = "onClick") private Button mBtnTranslate; @ViewInject(id = R.id.btn_continue_one, click = "onClick") private Button mBtnContinueOne; @ViewInject(id = R.id.btn_continue_two, click = "onClick") private Button mBtnContinueTwo; @ViewInject(id = R.id.btn_flash, click = "onClick") private Button mBtnFlash; @ViewInject(id = R.id.btn_shake, click = "onClick") private Button mBtnShake; @ViewInject(id = R.id.btn_switch, click = "onClick") private Button mBtnSwitch; @ViewInject(id = R.id.btn_layout, click = "onClick") private Button mBtnLayout; @ViewInject(id = R.id.btn_frame, click = "onClick") private Button mBtnFrame; @ViewInject(id = R.id.btn_shake, click = "onClick") private Button mBntShake; @ViewInject(id = R.id.iv_image) private ImageView mIvImage; private Animation mAnim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onClick(View v) { switch (v.getId()) { // 缩放 case R.id.btn_scale_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.scale); mIvImage.startAnimation(mAnim); break; // 透明度 case R.id.btn_alpha_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.alpha); mIvImage.startAnimation(mAnim); break; // 平移 case R.id.btn_translate_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.translate); mIvImage.startAnimation(mAnim); break; // 旋转 case R.id.btn_rotate_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.rotate); mIvImage.startAnimation(mAnim); break; // 组合动画,用监听器的方式 case R.id.btn_continue_one: mAnim = AnimationUtils.loadAnimation(this, R.anim.translate); mIvImage.startAnimation(mAnim); final Animation tAnim = AnimationUtils.loadAnimation(this, R.anim.rotate); mAnim.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { mIvImage.startAnimation(tAnim); } }); break; // 组合动画,用xml文件的方式 case R.id.btn_continue_two: mAnim = AnimationUtils.loadAnimation(this, R.anim.continue_two); mIvImage.startAnimation(mAnim); break; // 闪动效果 case R.id.btn_flash: AlphaAnimation alphaAnim = new AlphaAnimation(0.1f, 1.0f); alphaAnim.setDuration(100); alphaAnim.setRepeatCount(10); alphaAnim.setRepeatMode(Animation.REVERSE); mIvImage.startAnimation(alphaAnim); break; // 两个activity跳转的动画效果 case R.id.btn_switch: startActivity(new Intent(this, SecondActivity.class)); overridePendingTransition(R.anim.aty_in, R.anim.aty_out); break; // 布局动画 case R.id.btn_layout: startActivity(new Intent(this, ListActivity.class)); break; // 帧动画 case R.id.btn_frame: // 怎么控制帧动画的重复次数 mIvImage.setImageResource(R.drawable.anim_list); AnimationDrawable animDrawable = (AnimationDrawable) mIvImage.getDrawable(); animDrawable.start(); break; case R.id.btn_shake: TranslateAnimation translateAnim = new TranslateAnimation(-10, 10, -10, 10); translateAnim.setDuration(30); translateAnim.setRepeatCount(10); translateAnim.setRepeatMode(Animation.REVERSE); mIvImage.startAnimation(translateAnim); break; } } } ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

差点跪了...

最近微信又搞出了一个大利器,甚至都上了热搜,当然消息最敏捷的自媒体人,纷纷都开通了自己的视频号。01 视频号是什么呢?视频号是微信体系内的短视频,它不同...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

Vue回炉重造之router路由(更新中)

你好,我是Vam的金豆之路,可以叫我豆哥。2019年年度博客之星、技术领域博客专家。主要领域:前端开发。我的微信是 maomin9761,有什么疑问可以加我哦,自己创建了一个微信技术交流群,可以加我邀请你一起交流学习。最后自己也创建了一个微信公众号,里面的文章是我自己精挑细选的文章,主要介绍各种IT新技术。欢迎关注哦,微信搜索:臻美IT,等你来。 欢迎阅读本博文,本博文主要讲述【】,文字通...

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大胆预测下未来5年的Web开发

在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman对未来5年Web开发的发展做了预测,很有意思,分享给大家。如果你有机会从头...

立即提问
相关内容推荐