我正在使用 DexGuard 来处理我的 Android 应用程序。 在 DexGuard 的主页上,他们说它具有以下功能:XML 资源混淆
我已经测试了 DexGuard 并使用 apktool 反编译了我的输出 .apks。 问题是所有资源文件都被成功反编译,所以它们显然没有被混淆。
现在我的问题是,DexGuard 是否会自动混淆 XML 资源,或者我是否必须在我的 dexguard-project.txt 文件中以某种方式激活它? 是否可以混淆像 strings.xml 这样的 XML 资源,或者我是否误解了此功能?
最佳答案
为什么要混淆 strings.xml?是因为你有 api key 或 oauth secret 吗?如果是这样,那么最好将它们移动到 asset/config.properties 文件并加载到 java.util.Properties
对象,如下所示...
Properties appConfigProperties = new Properties();
appConfigProperties.load(context.getAssets().open("config.properties"))
String myApiKey = appConfigProperties.get("my_api_key");
(为简洁起见,我删除了异常处理)
请务必在 DexGuard 配置文件中启用 Assets 加密:
-encryptassetfiles assets/**
关于android - 如何使用 DexGuard 混淆 XML 资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26529120/