今天早些时候,我将我的Android升级到3.4,我第一次使用默认的收缩器R8。我将库项目的proguard-project.txt内容复制到它的proguard-rules.pro中。proguard-project.txt为这个项目完美地工作,该项目生成一个aar文件,供其他应用程序项目使用。
文件proguard-rules.pro似乎没有被使用。该项目的build.gradle中有以下内容
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
signingConfig signingConfigs.Release
}
debug {
signingConfig signingConfigs.Debug
}
}proguard-rules.pro有以下内容:
# Preserve all public classes, and their public and protected fields and methods.
-keep public class * {
public protected *;
}公共方法的名称根本没有保留:

有人能给我一个如何解决这个问题的建议吗?
发布于 2019-04-23 03:29:39
将这一行添加到gradle.properties中
android.enableR8 = true并在您的proguard-rules.pro中尝试下面的代码
-keep public class ** {
public *;
protected *;
}编辑#1
请在这里查看如何将Proguard迁移到R8:Android/java: Transition / Migration from ProGuard to R8?
https://stackoverflow.com/questions/55803562
复制相似问题