这个问题是由于ProGuard与Gradle插件版本之间的不兼容性导致的。为了解决这个问题,我们需要将Gradle插件版本降低到7.x或更低的版本,或者将ProGuard版本升级到较新的版本。
例如,我们可以将Gradle插件版本降到7.0.2,并在项目的build.gradle文件中添加以下代码:
android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
// add this block of code
packagingOptions {
exclude 'META-INF/library_release.kotlin_module'
}
}
这将避免ProGuard无法处理泛型的问题,并在构建APK时启用混淆。
另外,我们还可以升级ProGuard版本,例如在项目的build.gradle文件中将proguard版本升级为6.2.2:
buildscript { ... dependencies { classpath 'com.android.tools.build:gradle:7.0.2' classpath 'com.android.tools.build:gradle-proguard-plugin:7.0.2'
// upgrade proguard version
classpath 'net.sf.proguard:proguard-gradle:6.2.2'
}
}
这将使用新版本的ProGuard以解决问题。