美文网首页Android问题汇总(遥远的回忆过去)
AS混淆打包错误(java compiler)第零篇:warni

AS混淆打包错误(java compiler)第零篇:warni

作者: MonkeyLei | 来源:发表于2019-08-02 09:38 被阅读13次

有时候我们打包apk时会开启混淆,简单做法有时候是这样:

       release {
            minifyEnabled true
            //前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

混淆文件我们也会参考官方模板,同时用到了第三方的库也需要按需添加混淆代码。往往有时候打包过了,我们也就不怎么具体关注了。最近改版之前同事的工程,打包正常,就是很多警告,类似EnclosingMethod、EnclosingMethod之类的,由于还用到了友盟推送,就有了关于友盟sdk相关的警告(后面还有很多类似的):

image image

直接看解决方案

1. app的proguard-rules.pro下淆添加

image

2. app的build.gradle下的buildTypes的release下添加

            minifyEnabled true
            //Zipalign优化
            zipAlignEnabled true

            // 移除无用的resource文件
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

2.1 网上有些还添加了别的debuggable、jniDebuggable,但是实际上并不需要。可能有些警告需要添加,或许根据情况都可以试试?具体还是需要看具体的属性官方解释, 这样或许才能彻底了解每个属性的意义。(先留个伏笔,后面专门去研究下相关属性以及混淆的具体知识...)

          minifyEnabled true
            //Zipalign优化
            zipAlignEnabled true

            // 移除无用的resource文件
            shrinkResources true
            debuggable false
            jniDebuggable false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

相关文章

网友评论

    本文标题:AS混淆打包错误(java compiler)第零篇:warni

    本文链接:https://www.haomeiwen.com/subject/woskdctx.html