在构建我的 android 项目时,我在 build.gradle 文件中添加了以下内容以启用 proguard:
buildTypes {
release {
runProguard true
proguardFile 'proguard-project.txt'
proguardFile '../common/proguard-shared.txt'
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
一切正常,但是当我反汇编生成的 dex 文件时,结果发现混淆和非混淆文件都在那里。
例如,common.Base64 和 common.a 都存在,第一个是非混淆的,而第二个是。
不确定它是否相关,但项目本身具有非典型结构。这是因为我们拥有庞大的 android 代码库,其中包含 40 多个 android 应用程序。我们正在尝试与现有的基于 eclipse 的构建并排创建一个基于 gradle 的构建流程。
如果一切顺利,我们打算将文件结构更改为更原生的 gradle,并开始使用风味和构建类型来淘汰我们创建的许多库,以适应缺乏风味等问题。
上面的项目 E 依赖于这样的库链:
E -> D -> C -> B -> A
例如,E 项目依赖于库 D,它依赖于库 C ...一直到 A。