Android studio 打包混淆报错总结(第一节)

打包签名就不说了, 相信上架过app的朋友都知道, 不知道的小伙伴可以点击http://www.jianshu.com/p/2ac17b93bffd 一般开启混淆之后,需要在proguard-rules.pro里面添加混淆文件

roguard-Android.txt文件,这是系统默认的混淆文件,具体在../sdk/tools/proguard/目录下,其中包含了’最基本的混淆,一般不需要改动,我们需要配置的是项目中app下的proguard-rules.pro文件,要记得在release 下面添加androidproguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro.

如果你打包签名后的release的apk安装在手机上报错,但是debug版本没事的,那么你只需要看什么错误,去相对应的解决,
= = 这不是废话吗

比如打包后的release的apk运行的时候 出现 aused by: c.a.a.e: Subscriber class and its super classes have no public methods with the @Subscribe annotation
at c.a.a.m.a(Unknown Source)
at c.a.a.c.a(Unknown Source) 类似这样的错误,那么你只需要在
proguard-rules.pro下面添加

-keepattributes Annotation
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe ;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
(java.lang.Throwable);
}

如果你发现你的应用打包后的很多功能使用不正常,那你就要确认是否引用的第三库和自定义的一些类被混淆了

具体可以参考http://blog.csdn.net/a120705230/article/details/51791995

你可能感兴趣的:(随心笔记)