java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.internal.Gk0.B()" because the return value of "com.android.tools.r8.internal.Jw.b()" is null
这个错误避免了构建发布.apk文件。
这是我的build.gradle(应用程序):
android {
namespace '...'
compileSdk 34
defaultConfig {
applicationId '...'
minSdk 23
targetSdk 34
versionCode 11
versionName '2.1.1'
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_18
targetCompatibility JavaVersion.VERSION_18
}
buildFeatures {
buildConfig true
}
}
dependencies {
//some dependencies
}
这是我的build.gradle(项目)
plugins {
id 'com.android.application' version '8.4.1' apply false
id 'com.android.library' version '8.4.1' apply false
}
我应该补充一下,我有
android.enableR8=true
,它在我的 gradle.properties
文件中已贬值,但是将其更改为 true、false,甚至删除它也不会改变任何内容。
知道如何解决这个问题吗?
经过一天的长时间研究和测试,我找到了解决方案。将其添加到
proguard-rules.pro
暂时解决了问题:
-keepclassmembers enum * { *; }
使用这样的命令安全吗?如果你们有更好的主意,我将不胜感激。