android - Android build.gradle 中的 proguard-android-optimize.txt 与 proguard-android.txt

标签 android build.gradle proguard

我正在阅读 the docs about shrinking, obfuscating and optimising for a release build using build.gradle for an Android app .在文档的一部分中, proguard-android.txt 用作默认的 ProGuard 文件:

android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }
}

在另一部分中, proguard-android-optimize.txt 用来:
android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
                    'proguard-rules.pro'
        }
    }
}

似乎没有解释这些之间的区别,我找不到任何信息。谁能解释一下有什么区别以及何时使用 proguard-android-optimize.txt 对比 proguard-android.txt ?

谢谢 :)

最佳答案

看看here上的Android源代码.

Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file instead of this one, which turns off the optimization flags. Adding optimization introduces certain risks, since for example not all optimizations performed by ProGuard works on all versions of Dalvik. The following flags turn off various optimizations known to have issues, but the list may not be complete or up to date. (The "arithmetic" optimization can be used if you are only targeting Android 2.0 or later.) Make sure you test thoroughly if you go this route.



另外,这个answer也是一本不错的读物。

关于android - Android build.gradle 中的 proguard-android-optimize.txt 与 proguard-android.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56902356/

相关文章:

Android:如何将 AAR 的依赖项构建到 APK 中?

linux - gradle 构建在 Linux 中不起作用

java - Proguard:无法读取 C:\Program Files\Java\jdk-15.0.1\lib\rt.jar (没有这样的文件或目录)

android - 如何找到哪个库正在使用缺少的类并导致 Proguard 错误?

java - 如何混淆android apk

android - 如何在通知到达时在任何屏幕上显示自定义对话框?

android - 如何将位图保存到 Firebase

android - RelativeLayout 对齐规则在 DialogFragment 中不起作用

java - Android setOnEditorActionListener() 不触发

jar 任务的 Gradle 输出作为依赖项