Flutter 错误:无法解析配置“:image_picker_android:debugUnitTestRuntimeClasspath”的所有工件

Abh*_*shi 65 java android gradle kotlin flutter

我正在开发的应用程序在模拟器或手机中调试得很好,但是当我尝试构建 apk 时,出现以下错误:

Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

Running Gradle task 'assembleRelease'...                        


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Could not resolve all artifacts for configuration ':image_picker_android:debugUnitTestRuntimeClasspath'.
   > Failed to transform bcprov-jdk15on-1.68.jar (org.bouncycastle:bcprov-jdk15on:1.68) to match attributes {artifactType=processed-jar, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for JetifyTransform: /home/cicada/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.68/46a080368d38b428d237a59458f9bc915222894d/bcprov-jdk15on-1.68.jar.
         > Failed to transform '/home/cicada/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.68/46a080368d38b428d237a59458f9bc915222894d/bcprov-jdk15on-1.68.jar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 59. (Run with --stacktrace for more details.)
           Suggestions:
            - Check out existing issues at https://issuetracker.google.com/issues?q=componentid:460323&s=modified_time:desc, it's possible that this issue has already been filed there.
            - If this issue has not been filed, please report it at https://issuetracker.google.com/issues/new?component=460323 (run with --stacktrace and provide a stack trace if possible).

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 19s
Running Gradle task 'assembleRelease'...                           20.7s
Gradle task assembleRelease failed with exit code 1
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

Bil*_*der 95

这是我的解决方案,我建议将其作为第二个选项:

解决方案1: 我在应用程序级别build.gradle的android目录中添加了以下几行,即我的项目的android/app/build.gradle。

   lintOptions {
        disable 'InvalidPackage'
        disable "Instantiatable"
        checkReleaseBuilds false
        abortOnError false
    }
Run Code Online (Sandbox Code Playgroud)

一切都开始顺利进行。 查看我的 Gradle 文件

解决方案2:

不过,我建议大家通过@Vinadon 的解决方案并同意@raiderOne 的评论:第一个推荐的解决方案应该是:

问题在于 image_picker_android 已更新到 gradle 7.1.2。查看他们的变更日志。在 GitHub 上出现问题后,您必须像这样更新您的 gradle 版本:

在 android/gradle/wrapper/gradle-wrapper.properties 中将 distributionUrl 更新为

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
Run Code Online (Sandbox Code Playgroud)

并在 android/build.gradle 中将 gradle 版本更改为至少 7.1.2

classpath 'com.android.tools.build:gradle:7.1.2
Run Code Online (Sandbox Code Playgroud)

在 @Vinadon 的例子中,他也必须更新他的 Android Studio 以获取更新的 Java 版本。 为下面这个解决方案的 Vindadon 答案投票。谢谢!

  • 我觉得这是在逃避问题而不是解决问题...... (10认同)

小智 46

问题在于image_picker_android更新到 gradle 7.1.2。查看他们的变更日志在 GitHub 上出现问题后,您必须像这样更新您的 gradle 版本:

android/gradle/wrapper/gradle-wrapper.properties您的 distributionUrl 更新为

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
Run Code Online (Sandbox Code Playgroud)

并将android/build.gradlegradle 版本至少更改为7.1.2

classpath 'com.android.tools.build:gradle:7.1.2
Run Code Online (Sandbox Code Playgroud)

就我而言,我也必须将 Android Studio 更新为较新的 Java 版本。

  • 这是正确的答案。点赞吧。剩下的就是解决方法和创可贴。 (2认同)

小智 27

让我帮助您找到粘贴代码的正确位置

1:转到您的应用程序级 build.grade。

在此输入图像描述

2:向下滚动到“android{”,小心地粘贴此代码(不要干扰任何其他刹车。)

lintOptions {
            disable 'InvalidPackage'
            disable "Instantiatable"
            checkReleaseBuilds false
            abortOnError false
        }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

3:运行“flutter clean” 4:运行“flutter pub get” 5:如果您想构建项目的apk,则运行“flutter build apk”

我希望这个对你有用。


Vic*_*r K 18

该解决方案于 2022 年 6 月 6 日生效。在 pubspec.yaml 中添加这些行修复了问题:

dependency_overrides:
  image_picker_android: 0.8.4+13
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您使用的是 flutter 3.0 和 image_picker,请尝试以下操作:

dependency_overrides:
  image_picker_android: 0.8.4+13
Run Code Online (Sandbox Code Playgroud)