将 Gradle 包装器版本升级到 8.6 并将 Android Gradle 插件版本升级到 8.4.1 使我的 android studio 无法构建发布 .apk 文件

问题描述 投票:0回答:1

最近更新后,我的 android studio 出现错误:

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,甚至删除它也不会改变任何内容。

知道如何解决这个问题吗?

android-studio gradle android-gradle-plugin build.gradle android-sdk-tools
1个回答
1
投票

经过一天的长时间研究和测试,我找到了解决方案。将其添加到

proguard-rules.pro
暂时解决了问题:

-keepclassmembers enum * { *; }

使用这样的命令安全吗?如果你们有更好的主意,我将不胜感激。

© www.soinside.com 2019 - 2024. All rights reserved.