我正在从Eclipse导出一个Android应用程序 . Proguard认为它根据控制台,dump.txt,mapping.txt,seeds.txt和usage.txt输出混淆了.apk,但是当我反编译.apk本身时,它没有被混淆 . 类和字段的名称完好无损 . 我尝试了各种不同的Proguard配置,但在配置方面似乎没有任何错误 . 我确保清理项目,以便classes.dex文件不会过时 .
这在Eclipse Neon中对我有用:
右键单击项目并添加Gradle特性
文件 - >导出 - > Android - >生成Gradle构建文件
在项目的根目录中,创建local.properties文件并设置sdk.dir . 见:Where does local.properties go for android project?
右键单击项目 - > Gradle - > Refresh Gradle Project
在build.gradle中启用代码收缩 . 见:https://developer.android.com/studio/build/shrink-code.html
将您的Proguard配置放在proguard-rules.pro中(如果在build.gradle中相应地设置proguardFiles属性,则放在不同的文件中)
打开Gradle Tasks视图并运行assembleRelease任务 . 检查控制台以查看它是否成功运行 . 如果进展顺利,请刷新项目目录,.apk文件将位于build / outputs / apk子目录中 .
1 回答
这在Eclipse Neon中对我有用:
右键单击项目并添加Gradle特性
文件 - >导出 - > Android - >生成Gradle构建文件
在项目的根目录中,创建local.properties文件并设置sdk.dir . 见:Where does local.properties go for android project?
右键单击项目 - > Gradle - > Refresh Gradle Project
在build.gradle中启用代码收缩 . 见:https://developer.android.com/studio/build/shrink-code.html
将您的Proguard配置放在proguard-rules.pro中(如果在build.gradle中相应地设置proguardFiles属性,则放在不同的文件中)
打开Gradle Tasks视图并运行assembleRelease任务 . 检查控制台以查看它是否成功运行 . 如果进展顺利,请刷新项目目录,.apk文件将位于build / outputs / apk子目录中 .