运行 flutter Upgrade 后,我的项目未在 IOS 和 Android 上构建并给出错误:错误:/Users/username/.gradle/caches/

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

我今天于 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:mergeExtDexDebug”执行失败。

无法解析配置“: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 flutter-upgrade flutter-update
1个回答
0
投票

我找到了解决方案:

  1. 确保您拥有最新版本的 flutter
    flutter upgrade
  2. 运行此
    flutter pub upgrade --major-versions
    -> 这将获得 Android、IOS 和 flutter 中软件包的最新更新和兼容性版本
  3. 然后运行 flutter clean && flutter pub get

到这里就可以解决IOS的问题了

现在适用于安卓:

  1. 前往

    android/gradle/wrapper/gradle-wrapper.properties
    并将distributionUrl版本更改为:
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

  2. 然后转到

    android/settings.gradle
    并更新这两行
    id "com.android.application" version "8.5.0" apply false
     id "org.jetbrains.kotlin.android" version "2.0.20" apply false

  3. 现在转到

    android/app/build.gradle
    并更新这两行
    compileSdk = 34
     ndkVersion = "26.1.10909125"
    全部完成希望这个解决方案对您有帮助

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