我今天于 2024 年 9 月 24 日将 flutter 升级到了最新版本,我正在开发的项目不再编译和构建,当我安装应用程序进行测试时,出现了 Android 设备的错误:
*错误:/Users/UserName/.gradle/caches/transforms-3/525a3ec9924944fdf720d87028d1e961/transformed/appcompat-1.7.0-runtime.jar:D8:java.lang.NullPointerException:无法调用“String.length()”,因为“”为空 错误:/Users/UserName/.gradle/caches/transforms-3/23f325e1b838060e9e8064e2aaad3f0e/transformed/jetified-appcompat-resources-1.7.0-runtime.jar:D8:java.lang.NullPointerException:无法调用“String.length() " 因为 "" 为空
失败:构建失败并出现异常。
无法解析配置“:app:debugRuntimeClasspath”的所有文件。 无法转换 appcompat-resources-1.7.0.aar (androidx.appcompat:appcompat-resources:1.7.0) 以匹配属性 {artifactType=android-dex、asm-transformed-variant=NONE、dexing-enable-desugaring=true ,dexing-enable-jacoco-instrumentation = false,dexing-is-debuggable = true,dexing-min-sdk = 24,org.gradle.category =库,org.gradle.dependency.bundling =外部,org.gradle.libraryelements =aar, org.gradle.status=release, org.gradle.usage=java-runtime}。 > DexingNoClasspathTransform 执行失败:/Users/harry/.gradle/caches/transforms-3/23f325e1b838060e9e8064e2aaad3f0e/transformed/jetified-appcompat-resources-1.7.0-runtime.jar。 > dexing 时出错。 无法转换appcompat-1.7.0.aar(androidx.appcompat:appcompat:1.7.0)以匹配属性{artifactType = android-dex,asm-transformed-variant = NONE,dexing-enable-desugaring = true,dexing-enable -jacoco-instrumentation = false,dexing-is-debuggable = true,dexing-min-sdk = 24,org.gradle.category =库,org.gradle.dependency.bundling =外部,org.gradle.libraryelements = aar,org .gradle.status=发布,org.gradle.usage=java-runtime}。 > DexingNoClasspathTransform 执行失败:/Users/harry/.gradle/caches/transforms-3/525a3ec9924944fdf720d87028d1e961/transformed/appcompat-1.7.0-runtime.jar。 > dexing 时出错。
使用 --stacktrace 选项运行以获取堆栈跟踪。 使用 --info 或 --debug 选项运行以获得更多日志输出。 使用 --scan 运行以获得完整的见解。
我找到了解决方案:
flutter upgrade
flutter pub upgrade --major-versions
-> 这将获得 Android、IOS 和 flutter 中软件包的最新更新和兼容性版本到这里就可以解决IOS的问题了
现在适用于安卓:
前往
android/gradle/wrapper/gradle-wrapper.properties
并将distributionUrl版本更改为:distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
然后转到
android/settings.gradle
并更新这两行id "com.android.application" version "8.5.0" apply false
和 id "org.jetbrains.kotlin.android" version "2.0.20" apply false
现在转到
android/app/build.gradle
并更新这两行compileSdk = 34
和 ndkVersion = "26.1.10909125"
全部完成希望这个解决方案对您有帮助