未能解析:com.google.firebase:firebase-core:16.0.1
未能解析:com.google.firebase:firebase-core:16.0.1
我正试图将Firebase云存储添加到我的应用程序中。以下是应用程序的build.gradle。但它显示:无法解析:com.google.firebase:firebase-core:16.0.1。为什么?在依赖项中根本没有firebase-core。\n应用插件:\'com.android.application\'\nandroid {\n compileSdkVersion 27\n defaultConfig {\n applicationId \"com.louise.udacity.mydict\"\n minSdkVersion 15\n targetSdkVersion 27\n versionCode 1\n versionName \"1.0\"\n testInstrumentationRunner \"android.support.test.runner.AndroidJUnitRunner\"\n }\n buildTypes {\n release {\n minifyEnabled false\n proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'\n }\n }\n}\n依赖项 {\n implementation fileTree(dir: \'libs\', include: [\'*.jar\'])\n implementation \'com.android.support:appcompat-v7:27.1.1\'\n implementation \'com.android.support.constraint:constraint-layout:1.1.0\'\n implementation \'com.google.firebase:firebase-storage:16.0.1\'\n implementation \'com.google.firebase:firebase-auth:16.0.1\'\n testImplementation \'junit:junit:4.12\'\n androidTestImplementation \'com.android.support.test:runner:1.0.2\'\n androidTestImplementation \'com.android.support.test.espresso:espresso-core:3.0.2\'\n implementation \'com.google.cloud:google-cloud-storage:1.31.0\'\n implementation \'com.firebase:firebase-jobdispatcher:0.8.5\'\n}\n应用插件:\'com.google.gms.google-services\'
在解决Android应用程序的构建问题时,有时会出现(Failed to resolve: com.google.firebase:firebase-core:16.0.1)的问题。这个问题的出现可能是由于缺少Firebase核心库的依赖或者构建脚本中的错误所致。下面将介绍如何解决这个问题。
首先,打开根级别的build.gradle文件,找到repositories部分。在这里添加maven { url "https://maven.google.com" },这样就可以从Google Maven存储库中解析Firebase核心库的依赖。
具体代码如下:
repositories { maven { url "https://maven.google.com" } flatDir { dirs 'libs' } }
添加了上述代码后,重新构建应用程序即可解决(Failed to resolve: com.google.firebase:firebase-core:16.0.1)的问题。这是因为我们已经告诉构建系统从Google Maven存储库中获取Firebase核心库的依赖。
总结一下,解决(Failed to resolve: com.google.firebase:firebase-core:16.0.1)问题的方法是在根级别的build.gradle文件中添加maven { url "https://maven.google.com" },这样就可以从Google Maven存储库中解析Firebase核心库的依赖。然后重新构建应用程序即可解决问题。
在解决该问题之前,我先按照Google Firebase的集成指南进行了一些修改。具体修改如下:
在app/build.gradle文件中,我添加了以下依赖:
implementation 'com.google.android.gms:play-services-base:15.0.2' implementation "com.google.firebase:firebase-core:16.0.1" implementation "com.google.firebase:firebase-messaging:17.4.0"
在project/build.gradle文件中,我进行了以下修改:
- 在repositories部分,我添加了google()。
- 在dependencies部分,我更新了google-services插件的版本为4.2.0。
最后,在allprojects的repositories部分,我将google()添加到了首行。
通过以上修改,我成功解决了"Failed to resolve: com.google.firebase:firebase-core:16.0.1"的问题。
以上操作的具体步骤,你可以参考这个链接:https://firebase.google.com/docs/android/setup。
在文档中提到,现在你的应用gradle文件必须明确列出com.google.firebase:firebase-core
作为Firebase服务正常工作的依赖项。
添加以下代码:
implementation 'com.google.firebase:firebase-core:16.0.1'
并在顶层gradle文件中使用最新版本的Google Play服务:
classpath 'com.google.gms:google-services:4.0.2'
请注意:
你需要在顶层gradle文件中添加google()
仓库,如Firebase文档中所指定的,并且它应该在jcenter()
之前:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' classpath 'com.google.gms:google-services:4.0.2' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
我添加了firebase-core,但是仍然出现相同的错误。顺便说一句,我使用了Android Studio中的Firebase助手来添加Firebase云。它还说:配置'compile'已经过时,已被'implementation'和'api'取代。它将在2018年底移除。有关更多信息,请参见:d.android.com/r/tools/update-dependency-configurations.html。但是我仔细检查了所有的build.gradle文件。我对所有依赖项都使用了implementation而不是compile。
尝试清理和重新构建项目,你使用的是哪个Android版本插件?
是的,我尝试了"clean"和"rebuild",结果相同。你所说的"Android版本插件"是什么意思?所以如果我删除了firebase-storage和firebase-auth依赖项,错误就消失了。一旦添加回这两个依赖项,看起来好像有什么东西强制将firebase-core设置为16.0.1,然后失败了。
这个classpath 'com.android.tools.build:gradle:3.1.0'
和这个classpath 'com.google.gms:google-services:4.0.1'
哦,我的"com.google.gms:google-services"是3.XX,我刚刚升级到了4.0.1,问题解决了。非常感谢!!
我遇到了同样的问题,对我来说,我只是将版本从16.0.0更改为"11.0.4",因为那是我系统中可用的play-services版本。所以面对类似问题的人不要随机更改版本,因为这样是不会起作用的。
你需要将google-service插件升级到4.0.2版本才能使用16.0.1。没有人是随机升级的,一切都有解释。如果你想使用16.0.1,那么你需要更新google-service插件。
手动在所有项目的repositories中添加google()对我来说是有效的...
是的,正如我在注意事项中所说的,你需要添加google()
才能使用Firebase服务。
是的...+1,简单明了
只需添加这个:classpath 'com.google.gms:google-services:4.0.2' 就解决了我的问题。谢谢。