【发布时间】:2011-12-26 16:48:14
【问题描述】:
我看过很多关于如何在 Eclipse 中使用 ProGuard 混淆 Android 应用程序(.apk 文件)的帖子。另见http://developer.android.com/guide/developing/tools/proguard.html:
“当您在发布模式下构建应用程序(通过运行 ant release 或使用 Eclipse 中的导出向导)时,构建系统会自动检查是否设置了 proguard.config 属性。如果是,ProGuard 会在将所有内容打包成.apk 文件之前自动处理应用程序的字节码。”
但如果使用 Eclipse 导出向导将 Android 项目导出为 .jar 文件,请按照所述步骤(创建文件 proguard.cfg,在文件 default.properties 中将 proguard.config 属性配置为 proguard.cfg,使用导出向导等)似乎不起作用 - 我在生成的 jar 文件中没有看到类名等的混淆。我的 proguard.cfg 文件中也有以下设置,但在我的项目目录或 proguard 目录中看不到任何输出文件(甚至没有创建该目录)。
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
我什至在我的项目目录中使用以下行创建了一个文件 project.properties,但这似乎并没有吸引 ProGuard 采取行动:
proguard.config=proguard.cfg
此项目中未定义任何活动。我在 Windows 上使用 Android 2.3.1 和 Eclipse Galileo 3.5.2。与 Android 3.0 的结果相同。似乎必须在 Eclipse 导出向导中以某种方式显式插入混淆步骤。我将不胜感激任何帮助或见解。谢谢。
【问题讨论】:
-
@user1040716... 你能生成混淆的 JAR 吗?
标签: android eclipse jar obfuscation proguard