我可以用 Proguard 混淆 AndroidManifest.xml 文件吗?
我想在我的 proguard.config 文件中写入源代码。(-adaptresourcefilenames AndroidManifest.xml)
但它没有工作。
我可以用 Proguard 混淆 AndroidManifest.xml 文件吗?
我想在我的 proguard.config 文件中写入源代码。(-adaptresourcefilenames AndroidManifest.xml)
但它没有工作。
标准的 Android 版本构建仅将 ProGuard 应用于已编译的字节码,而不应用于任何资源文件。因此它不能适应像 AndroidManifest.xml 这样的文件。
此外,这些构建过程首先运行aapt
以将 AndroidManifest.xml 和其他 XML 文件转换为二进制版本,以便更有效地打包和使用。Aapt 还为 ProGuard 编写了一些配置。ProGuard 只能解析和适配文本格式的资源文件,所以它不适用于二进制版本。
DexGuard是专门针对 Android 的 ProGuard 的商业扩展,它简化了构建过程。它还尽可能地混淆和优化二进制 XML 文件。正如 Nikolay 所提到的,一些类名仍然不能被混淆;特别是可能从其他应用程序引用的那些。
(我是 ProGuard 和 DexGuard 的开发者)
您不能:系统需要了解您的组件(活动、服务等)。您也不能混淆清单中组件引用的名称。默认的 ProGuard 配置明确排除了这些配置。