android - 在 Android 中进行保护后,美元符号在字段中

标签 android proguard obfuscation android-proguard

我有一个类在 proguarding 后使用随机十六进制字符串获取美元符号。

混淆之前:

public class MyClass<D extends Params, S extends Params, B extends Slots> extends Params<D, S> {
    private B slots;
}

混淆之后:

public class MyClass<D extends g, S extends g, B extends g> extends Params<D, S> {
  private B slots$41652c7
}

如何防止此类行为?

最佳答案

按照这种格式添加一个 keepclassmembers 规则,Proguard 将不会对类中的字段做任何事情。

-keepclassmembers class MyClass {
    private <fields>;
}

请注意,Proguard 要求类引用是完全限定的命名空间。

关于android - 在 Android 中进行保护后,美元符号在字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41146158/

相关文章:

android - 如何访问工具:来自Kotlin/Java类的示例数据?

android - 在 Playstore 中发布后如何发布我的 Android 应用程序?

android - 设置 minifyEnabled 为真时无法使用 GSON 解析 json 对象

android - Butterknife 不能在启用 Proguard 的情况下使用,使用推荐的 proguard 规则

java - 如何在Eclipse中为非Android Java项目使用Proguard?

java - 设置混淆后从 Eclipse 运行 Android 应用程序

java - 从第二个 Activity 打开应用程序

java - 在 Android 中呈现的图像上的锯齿状边缘

java - 错误 :Execution failed for task ':app:transformClassesAndResourcesWithProguardForDebug'

.net - (为什么)我应该使用混淆?