【发布时间】:2020-12-28 18:17:49
【问题描述】:
有一个使用一些库的应用程序。 看到lib有
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
proguard-rules.pro 有一些规则来保留一些类。
我相信是因为 R8 默认情况下是用于收缩/混淆的,minifyEnabled false 将禁用它。
如果这是真的,这是否意味着 lib 的 aar 将在没有收缩/混淆的情况下构建?
如果应用默认开启 R8,应用会做收缩/混淆,包括依赖库?
【问题讨论】:
-
你的意思是库本身在它自己的项目中有 minifyEnabled false 吗?
-
@MahmoudOmara,是的,在 lib 的 build.gradle 中它的 minifyEnabled 为 false。
-
您需要自定义您自己的应用程序以拥有 minifyEnabled 和 proguard 规则,只需确保添加您曾经使用过的每个库都在您自己的 proguard 文件中的规则
-
在库中设置 minifyEnabled false 有什么好处?
-
没有任何好处,你不能编辑你正在导入的库中的代码,除非你复制粘贴整个东西并将源代码包含在你自己的项目中
标签: android proguard r8-obfuscation