在build.gradle(app)文件中,默认情况下,
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
根据https://developer.android.com/studio/build/shrink-code,
minifyEnabled true
提高代码的安全性(使其难以进行反向工程),并缩小发行版本的大小,我们将其用于发布应用。
我知道使用minifyEnabled true
会延长编译时间,但是通常将调试版本用于开发和测试,但无论如何不会影响到编译。
我要寻找的是,minifyEnabled true
在运行时使用会导致哪些不利因素(例如性能影响)?我不担心发布版本的构建时间。
Google Play控制台还建议我们启用它,因此我想知道为什么minifyEnabled
默认情况下禁用该功能。
通过在发行版本中添加minifyEnabled true,可以混淆代码,但是在发行版本中默认将其设置为false,因为如果设置为true,则需要编写proguard规则来告诉编译器在混淆代码时将忽略哪些类。如果将minifyEnabled默认设置为true,并且开发人员忘记添加proguard规则,则可能导致运行时崩溃。
但是,将minifyEnabled设置为true并将shrinkResources设置为true可以减小apk大小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句