如何修复 "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。
- 正在降级 gradle 插件版本。
- 使用 AndroidManifest.xml 文件中的一些权限。
- 降级flutter版本
- 使用 JCenter() 和 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版本。
谢谢,希望大家编码无误。
每个开发人员都遇到过这种错误,尤其是这个特定文件 core-1.1.0.jar.
问题是 google 出于某种原因从它的服务器上删除了我猜的文件,因为整个错误是说它没有在网上的任何地方找到该文件。
网上有很多解决方案,不幸的是,这些解决方案包括:
- 正在将您的项目迁移到 AndroidX。
- 正在降级 gradle 插件版本。
- 使用 AndroidManifest.xml 文件中的一些权限。
- 降级flutter版本
- 使用 JCenter() 和 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版本。
谢谢,希望大家编码无误。