如何修复 "Could not find core-1.1.0.jar (androidx.core:core:1.1.0)" 错误。扑

How To Fix "Could not find core-1.1.0.jar (androidx.core:core:1.1.0)" Error. Flutter

每个开发人员都遇到过这种错误,尤其是这个特定文件 core-1.1.0.jar.

问题是 google 出于某种原因从它的服务器上删除了我猜的文件,因为整个错误是说它没有在网上的任何地方找到该文件。

网上有很多解决方案,不幸的是,这些解决方案包括:

等等...,你明白了。

下面我将分享我如何修复此错误的经验。

您必须了解问题不在于您的代码或项目问题仅在于您的项目正在使用的插件,这就是为什么当我尝试将我的项目迁移到 AndroidX 时,我收到一条消息说:

No AndroidX usages found.

下面是解决这个错误的步骤。

首先:您需要将此代码添加到应用程序的 gradle.build 文件中,它位于此路径 android/app/gradle.build:

dependencies {
    def core_version = "1.3.2"

    // Java language implementation
    implementation "androidx.core:core:$core_version"
    // Kotlin
    implementation "androidx.core:core-ktx:$core_version"

    // To use RoleManagerCompat
    implementation "androidx.core:core-role:1.0.0"

    // To use the Animator APIs
    implementation "androidx.core:core-animation:1.0.0-alpha02"
    // To test the Animator APIs
    androidTestImplementation "androidx.core:core-animation-testing:1.0.0-alpha02"
}

上面的代码只是更改了您要使用的 core.jar 版本。

其次:你需要进入导致你这个错误的插件文件夹,你可以通过阅读错误轻松知道是哪个插件导致的错误,并且这是一个例子:

Execution failed for task ':image_picker:compileDebugJavaWithJavac'. > Could not resolve all files for configuration ':file_picker:debugCompileClasspath'. > Could not find core-1.1.0.jar (androidx.core:core:1.1.0).

现在您可以看到,image_picker 插件导致了错误。所以我们需要去这个插件的文件夹。

所有插件的文件夹都可以在这个路径中找到:%FLUTTER_SDK_PATH%\flutter\.pub-cache\hosted\pub.dartlang.org

%FLUTTER_SDK_PATH%替换成你的flutter SDK实际路径即可

现在我们在这个文件夹中找到 image_picker 文件夹。

第三:进入插件文件夹后,你需要更改此插件使用的core.jar文件的版本,方法如下:

您导航到插件文件夹内的 android 文件夹并打开 gradle.build 文件,在我的例子中这是路径:%FLUTTER_SDK_PATH%\.pub-cache\hosted\pub.dartlang.org\image_picker-0.7.4\android

现在一直向下滚动,您会找到以下代码:

dependencies {
        implementation 'androidx.core:core:1.1.0'
        implementation 'androidx.annotation:annotation:1.0.0'
        implementation 'androidx.exifinterface:exifinterface:1.3.0'
    }

implementation 'androidx.core:core:1.1.0'改成implementation 'androidx.core:core:1.3.2':

dependencies {
        implementation 'androidx.core:core:1.3.2'
        implementation 'androidx.annotation:annotation:1.0.0'
        implementation 'androidx.exifinterface:exifinterface:1.3.0'
    }

大功告成。

请注意:

  • 我首先尝试了上述所有解决方案,最后一次尝试是编辑插件文件。

  • 我所做的编辑不会以任何方式影响插件。

  • 我在最后一步使用的core.jar文件版本必须等于第一步指定的core.jar版本。

谢谢,希望大家编码无误。