如何在android apk中保存私有字符串值?

如何在android apk中保存私有字符串值?,android,Android,我知道我可以将字符串保存在res/values/strings.xml中,但是如果有人反汇编dex文件或apk文件,那么他将能够看到硬编码字符串或res/values/strings.xml字符串 有没有一种方法可以存储拆分后无法读取的字符串?简单-否 如果您可以从apk中解密/提取任何字符串,那么可能有足够知识的任何人都可以查看您的代码,并重新构造用于提取这些字符串的算法。然后自己拔出来 当然,你可能会使用一些技巧来增加难度。可以使用什么技巧实际上取决于您,Android默认情况下不提供任何

我知道我可以将字符串保存在res/values/strings.xml中,但是如果有人反汇编dex文件或apk文件,那么他将能够看到硬编码字符串或res/values/strings.xml字符串

有没有一种方法可以存储拆分后无法读取的字符串?

简单-否


如果您可以从apk中解密/提取任何字符串,那么可能有足够知识的任何人都可以查看您的代码,并重新构造用于提取这些字符串的算法。然后自己拔出来


当然,你可能会使用一些技巧来增加难度。可以使用什么技巧实际上取决于您,Android默认情况下不提供任何技巧(AFAIK)。

如果您不希望数据在应用程序会话中持续存在,您可以使用

也许您以某种方式对这些字符串进行加密?是的,问题是如果我对它们进行加密,那么我也需要一个硬编码的密钥,所以任何拥有第二个密钥的人都会解密并获得第一个密钥,所以这是同一个故事。是的,我想你是对的,但我希望有一个不存在的神奇奇迹。也许我根本不会使用技巧。@inazaruk会使用ProGuard混淆/缩小应用程序/.apk帮助?我猜它不会影响strings.xml中的硬编码字符串,但它会有助于保护代码中的字符串对象(无论它们是静态的、最终的还是非静态的)?Proguard会混淆字符串名称,但不会更改字符串的内容,因此仍然很容易提取。Dexguard提供字符串模糊处理,但不是免费的。SharedReference根本不加密,它们位于普通xml文件中