我想用Proguard混淆AndroidManifest.xml

时间:2013-05-29 07:53:40

标签: android android-manifest proguard

我可以用Proguard混淆AndroidManifest.xml文件吗?

我想在我的proguard.config文件中写入源代码。 (-adaptresourcefilenames AndroidManifest.xml)

但这不起作用。

2 个答案:

答案 0 :(得分:17)

标准的Android版本构建仅将ProGuard应用于已编译的字节码,而不应用于任何资源文件。因此它无法调整AndroidManifest.xml等文件。

此外,这些构建过程首先运行aapt以将AndroidManifest.xml和其他XML文件转换为二进制版本,以便更有效地打包和使用。 Aapt还为ProGuard写了一些配置。 ProGuard只能以文本格式解析和调整资源文件,因此它不适用于二进制版本。

DexGuard,专门针对Android的ProGuard的商业扩展,简化了构建过程。它还尽可能地混淆和优化二进制XML文件。正如尼古拉提到的,一些班级名称仍然无法混淆;特别是可以从其他应用程序引用的那些。

(我是ProGuard和DexGuard的开发者)

答案 1 :(得分:1)

您不能:系统需要了解您的组件(活动,服务等)。您也不能混淆清单中组件引用的名称。默认的ProGuard配置会明确排除这些配置。