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

proguard-android-optimize.txt vs proguard-android.txt in Android build.gradle

我正在阅读 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.txtproguard-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.

另外,这篇 也很不错。