升级到 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'
所有这些方法都没有解决我的问题: 这个问题有什么解决办法吗?
更改compileSdkVersion解决了我的问题。
我在 android/app/build.gradle 中更改了
compileSdkVersion
来自
compileSdkVersion flutter.compileSdkVersion
致
compileSdkVersion 33
错误消失了。
您正在运行什么类型的 gradle 版本?我遇到了同样的问题,尝试了您的更改,但没有成功。
更改 minSdkVersion 为我解决了这个问题。当 minSdkVersion 21 时,我遇到了完全相同的问题,将其增加到 24 解决了我的问题。
minSdkVersion 24