我正在尝试用 proguard 来混淆我的 Android 应用程序。但问题是,当我反编译 apk 时,它只显示更改的变量名称,但类名称与源中的相同。只有一个类的名称发生了更改,这不会扩展任何其他类。我搜索了很多选项,但没有任何效果,所以我在这里发布我的问题。
这是我的 gradle 文件代码:-
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
在我的 proguard Rules.pro 文件中
-ignorewarnings
请在这件事上给予我帮助
谢谢:)
我不知道你的情况到底是什么问题,但我已经通过下面解决了我的问题proguard rules
它们是帮助您保护您的应用程序的各种规则
-dontskipnonpubliclibraryclassmembers
-dontshrink
-dontoptimize
-printmapping build/libs/output/obfuscation.map
-keepattributes
-adaptclassstrings
-dontnote
-dontwarn
# Keep Android classes
-keep class ** extends android.** {
<fields>;
<methods>;
}
# Keep serializable classes & fields
-keep class ** extends java.io.Serializable {
<fields>;
}
# Keep - Applications. Keep all application classes, along with their 'main'
# methods.
-keepclasseswithmembers public class * {
public static void main(java.lang.String[]);
}
# Also keep - Enumerations. Keep the special static methods that are required in
# enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** e(...);
public static *** w(...);
}
欲了解更多信息,您可以访问Proguard official site https://www.guardsquare.com/en/proguard/manual/examples
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)