Proguard 混淆了对字符串资源的调用

Proguard obfuscating a call to a String resource

当我用Proguard混淆我的代码时,我有一行代码如下:

String aString = getResources().getString(R.string.foo);

即使我设置我的混淆器配置文件以保留 R class 及其所有内部 classes(并且它们被保留),它混淆了使 foo 成为静态字段的行随机改名nclass。

我怎样才能做到不进行此特定更改并在此时内联引用的字符串?或者通过 id 引用字符串。

  1. 试试-keepclassmembernames
  2. 您似乎在进行 Android 开发,在这种情况下,默认 proguard 配置附带 Android Studio 非常适合我.如果您正在使用其他 IDE,您只需将 proguard 配置复制到您的项目即可。