假设我需要为应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将proguard.cfg的内容从应用程序复制到库项目?
换句话说,应用程序的proguard.cfg是否"接管"它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?
我已经看过很多关于如何在Eclipse中使用ProGuard来混淆Android应用程序(.apk文件)的帖子.另请参阅http://developer.android.com/guide/developing/tools/proguard.html:
"当您在发布模式下构建应用程序时,无论是通过运行ant发布还是使用Eclipse中的导出向导,构建系统会自动检查是否设置了proguard.config属性.如果是,ProGuard会自动处理应用程序的字节码在将所有内容打包成.apk文件之前."
但是如果使用Eclipse导出向导在.jar文件中导出Android项目,请按照上述步骤(创建文件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
Run Code Online (Sandbox Code Playgroud)
我甚至在我的项目目录中使用以下行创建了一个文件project.properties,但这似乎并没有引起ProGuard的采取行动:
proguard.config=proguard.cfg
Run Code Online (Sandbox Code Playgroud)
此项目中未定义任何活动.我在Windows上使用Android 2.3.1和Eclipse Galileo 3.5.2.与Android 3.0相同的结果.似乎混淆步骤必须以某种方式在Eclipse导出向导中明确插入.我将不胜感激任何帮助或见解.谢谢.