Dexing 时出现错误。 flutter 升级到 3.19.0 后

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

升级到 flutter 3.19.0 后,我在 android 上运行我的应用程序时收到以下错误,它在 ios 上运行良好,当我在 android studio 中仅打开 android 目录并运行该项目时,在这种情况下它也运行良好。

ERROR:D8: com.android.tools.r8.kotlin.H
ERROR:D8: com.android.tools.r8.kotlin.H
ERROR:D8: com.android.tools.r8.kotlin.H
ERROR:D8: com.android.tools.r8.kotlin.H

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform firebase-auth-22.3.1.aar (com.google.firebase:firebase-auth:22.3.1) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: /home/munsif/.gradle/caches/transforms-3/ba579288272952d282e3eb784bb3facc/transformed/jetified-firebase-auth-22.3.1-runtime.jar.
         > Error while dexing.
   > Failed to transform play-services-location-21.1.0.aar (com.google.android.gms:play-services-location:21.1.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: /home/munsif/.gradle/caches/transforms-3/c40ae925c2dff28a07b701244ea18adb/transformed/jetified-play-services-location-21.1.0-runtime.jar.
         > Error while dexing.
   > Failed to transform recaptcha-18.4.0.aar (com.google.android.recaptcha:recaptcha:18.4.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: /home/munsif/.gradle/caches/transforms-3/6a9b2598905fd8f95f3e5a4db9115179/transformed/jetified-recaptcha-18.4.0-runtime.jar.
         > Error while dexing.
   > Failed to transform kotlin-stdlib-1.9.0.jar (org.jetbrains.kotlin:kotlin-stdlib:1.9.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=23, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: /home/munsif/.gradle/caches/transforms-3/ae0183353754275aa55a66ddf2de48d6/transformed/jetified-kotlin-stdlib-1.9.0.jar.
         > Error while dexing.

我尝试将这些添加到 gradle.properties

android.useAndroidX=true
android.enableJetifier=true

在 build.gradle 中启用 multiDex:

android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
}

将此行添加到 build.gradle

implementation 'com.android.support:multidex:1.0.3'

所有这些方法都没有解决我的问题: 这个问题有什么解决办法吗?

android flutter gradle android-gradle-plugin android-multidex
3个回答
0
投票

更改compileSdkVersion解决了我的问题。

我在 android/app/build.gradle 中更改了

compileSdkVersion

来自

 compileSdkVersion flutter.compileSdkVersion

compileSdkVersion 33

错误消失了。


0
投票

您正在运行什么类型的 gradle 版本?我遇到了同样的问题,尝试了您的更改,但没有成功。


0
投票

更改 minSdkVersion 为我解决了这个问题。当 minSdkVersion 21 时,我遇到了完全相同的问题,将其增加到 24 解决了我的问题。

minSdkVersion 24

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