Android 生成Release版本时,混淆问题的解决
2017-08-03 17:54
543 查看
今天在生成release版本的apk时,出现了编译失败,百度以后,发现是混淆配置出现错误
从上面的log中可以看到有三个包配置不正确,第一个是okhttp,第二个是okio,第三个是rx,打开app下proguard-rules.pro,配置如下内容,便可以编译成功。
通过如上配置,可以正常生成release版本的apk了。以后出现类似的问题,只要找到对应的混淆规则添加,就可以了。。。希望对大家有用,下一篇文章,我会整理一下一些实用频率很高的混淆配置。
Warning:com.squareup.picasso.OkHttpDownloader: can't find referenced class Warning:com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Request ......... Warning:okio.Okio: can't find referenced class java.nio.file.Files Warning:okio.Okio: can't find referenced class java.nio.file.Path ......... Warning:rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef: can't find referenced class sun.misc.Unsafe Warning:rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef: can't find referenced
从上面的log中可以看到有三个包配置不正确,第一个是okhttp,第二个是okio,第三个是rx,打开app下proguard-rules.pro,配置如下内容,便可以编译成功。
okhttp
# okhttp -keepattributes SourceFile,LineNumberTable -keep class com.parse.*{ *; } -dontwarn com.parse.** -dontwarn com.squareup.picasso.** -keepclasseswithmembernames class * { native <methods>; }
okio
# Okio -dontwarn com.squareup.** -dontwarn okio.** -keep public class org.codehaus.* { *; } -keep public class java.nio.* { *; }
rx
# RxJava RxAndroid -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { rx.internal.util.atomic.LinkedQueueNode producerNode; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef { rx.internal.util.atomic.LinkedQueueNode consumerNode; }
通过如上配置,可以正常生成release版本的apk了。以后出现类似的问题,只要找到对应的混淆规则添加,就可以了。。。希望对大家有用,下一篇文章,我会整理一下一些实用频率很高的混淆配置。
相关文章推荐
- 转载 2014年04月22日 09:01:19 VC6.0工程在编译时由于设置问题有时不会生成release版本,只有debug版本。 解决犯非法如下: 工程——设置,将Setting for
- Android热补丁动态修复技术(四):自动化生成补丁——解决混淆问题
- Android版本过多问题虽未解决,但你不必为此担忧
- Android项目源码混淆问题解决方法
- Android项目源码混淆问题解决方法
- Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决
- 生成动态库so的方法|解决NDK r5b引用静态库失效的问题|在NDK的Nactive代码中使用Android Log的方法|生成Native java头文件
- Android项目源码混淆问题解决方法
- android 典型问题:R.java文件不能自动生成的解决办法
- android sdk R17后混淆第三方jars问题解决
- Eclipse build Android时不生成apk问题解决方法
- VC6.0没有生成release版本的解决办法
- 64位Ubuntu 11.10下编译android gcc版本过高问题解决
- Android apk系列2-------系统签名(生成release版本的系统)
- 解决只存在于Release版本的重定义符号问题
- Android问题集锦转载之六:混淆时报错:Conversion to Dalvik format failed with error 1的解决办法
- Android项目源码混淆问题解决方法
- 解决不同版本的eclipse或sdk所导致的android layout xml无法显示的问题
- Android版本过多问题虽未解决,但你不必为此担忧
- Google将解决Android版本过多问题