在Android的Gradle构建系统中,可以通过配置R8规则来控制混淆行为。要保留成员名称不被混淆,可以使用-keepnames
规则。
以下是一个示例的build.gradle文件,展示了如何配置R8规则以保留成员名称不被混淆:
android {
...
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
useProguard false
proguardFile 'proguard-rules.pro'
...
}
}
// 添加R8规则
r8 {
// 配置保留成员名称不被混淆
keepattributes 'InnerClasses,EnclosingMethod'
keepnames class com.example.myapp.MyClass {
public *;
}
...
}
}
在上述示例中,keepnames class com.example.myapp.MyClass
配置指定了com.example.myapp.MyClass
类及其所有公共成员的名称都不会被混淆。
请注意,以上只是一个示例,你需要根据你的应用程序的具体情况进行相应的配置。另外,R8的规则语法非常灵活,你可以根据需要进行更复杂的规则配置。
上一篇:Android R8不会保留在FragmentContainerView中使用的片段。
下一篇:Android R8代码收缩器和AWS CodePipeLine:java.lang.StackOverflowError(无错误消息)