【发布时间】:2014-08-28 15:43:34
【问题描述】:
我即将发布一个 Android 应用,并希望使用 Proguard 来混淆代码。我按照Googles Proguard Guide 中的描述做了所有事情,但 Proguard 似乎没有运行:
这就是我所做的:
- 指南说,“项目根目录下会自动生成一个proguard.cfg 文件” 我的项目根目录中没有这样的文件,而是一个
proguard-project.txt文件。我认为这是指南正在讨论的 confic 文件。 - 我没有更改
proguard-project.txt文件。因此,Proguard 应该适用于所有类名等。 -
我编辑了
project.properties并取消了proguard.config=...行的注释:proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
根据指南,这应该是配置 Proguard 所需的全部内容。运行 Proguard 所不需要的只是在 Release mode 中构建应用程序。
我不知道如何在 Release mode 中运行应用程序,但正如指南所说,这是在使用“文件/导出/导出 Android 应用程序”菜单构建应用程序时自动完成的。
所以,我导出了应用程序来创建 APK。 guid 说 Proguard 每次运行时都会在项目目录中创建几个文件和文件夹,例如dump.txt、mapping.txt 等。但没有创建这些文件。此外,控制台或日志中没有输出。因此我假设 Proguard 没有运行。
是否有一种(简单的)方法来测试文件是否被混淆/Proguard 是否运行?为了让 Proguard 正常工作,我还需要做什么?
【问题讨论】:
-
听起来你在做所有正确的事情。导出时,您是否使用自己的密钥? Eclipse 错误日志是否显示任何内容? .apk 文件是否实际导出?
标签: java android eclipse proguard