假设我需要对应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将 proguard.cfg 的内容从应用程序复制到库项目?
换句话说,应用程序的 proguard.cfg 是否“接管”了它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?
假设我需要对应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将 proguard.cfg 的内容从应用程序复制到库项目?
换句话说,应用程序的 proguard.cfg 是否“接管”了它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?
库项目本身不运行 ProGuard,因此它们不使用任何配置。
应用程序项目混淆了整个代码库,包括任何引用的库,因此它们需要对应用程序代码和库代码进行适当的配置。
答案似乎是“否”:Proguard 也会混淆库中的代码。
但那是在 2010 年,我们非常清楚规范在不断变化,尤其是在 Android 开发工具方面。因此,如果出现更权威的答案,我会接受。
在库项目的 build.gradle 中,在 buildTypes 中添加行consumerProguardFiles 'proguard-rules.pro'
:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
consumerProguardFiles 'proguard-rules.pro'
}
}
在build.gradle
根项目中,启用minifyEnabled
. 图书馆 proguard 将工作。