2017-11-04 211 views
-4

我正在从Eclipse导出Android应用程序。 Proguard认为它根据控制台,dump.txt,mapping.txt,seeds.txt和usage.txt输出来模糊.apk,但是当我反编译.apk本身时,它不会被混淆。类和字段的名称是完整的。我尝试了各种不同的Proguard配置,但在配置方面似乎没有任何问题。我一定要清理项目,这样classes.dex文件就不会过时。Proguard声称混淆.apk,但不是

+0

请解释你的downvotes。从阅读其他问题到目前为止,唯一可行的解​​决方案(我还没有尝试过)是从Eclipse之外的命令行运行Proguard。可笑... – fgsfdsfgts

+1

您可能想解释(1)当Android团队2年前不支持该平台时,为什么要使用Eclipse? (2)将proguard添加到Android的ant构建系统是不可行的:https://stackoverflow.com/questions/4629444/ant-build-for-android-proguard-obfuscation这是Android转移到gradle的另一个原因。 –

+0

更正Proguard在Eclipse/Ant中可以实现,但所有更新的Android功能(如multidex和AAR支持)都在Gradle中。 –

回答

0

这在Eclipse霓虹灯工作对我来说:

  1. 右键单击项目并添加摇篮性质

  2. 文件 - >导出 - > Android的 - >生成摇篮构建文件

  3. 在项目的根目录中,创建一个local.properties文件并设置sdk.dir。请参阅:Where does local.properties go for android project?

  4. 右键单击项目 - >摇篮 - >刷新摇篮工程

  5. 启用代码的build.gradle萎缩。请参阅:https://developer.android.com/studio/build/shrink-code.html

  6. 把你的Proguard的配置proguard-rules.pro(或在不同的文件,如果你的build.gradle设置相应的proguardFiles属性)

  7. 打开摇篮任务查看和运行assembleRelease任务。检查控制台以查看它是否成功运行。如果运行良好,请刷新项目目录,并将.apk文件保存在build/outputs/apk子目录中。