无法解决:com.google.firebase:firebase-core:16.0.1

时间:2018-05-29 13:55:47

标签: android firebase gradle android-gradle cloud-storage

我正在尝试将firebase云存储添加到我的应用中。下面是app build.gradle。但它说: 无法解决:com.google.firebase:firebase-core:16.0.1。 为什么?依赖项中没有firebase-core。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.louise.udacity.mydict"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.google.firebase:firebase-storage:16.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.cloud:google-cloud-storage:1.31.0'
    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
}

apply plugin: 'com.google.gms.google-services'

14 个答案:

答案 0 :(得分:107)

来自文档: -

  

您的应用程序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'

https://firebase.google.com/support/release-notes/android

https://bintray.com/android/android-tools/com.google.gms.google-services

注意:

您需要在顶级gradle文件中添加google() repo,如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
 }

https://firebase.google.com/docs/android/setup

答案 1 :(得分:5)

May 23, 2018 update起,当您使用firebase依赖关系时,您也必须包含libtinfo依赖关系。

如果添加它,您仍然遇到错误,尝试更新firebase-core到4.5版本中的gradle插件:

gradle-wrapper.properties

并重新同步项目。

答案 2 :(得分:5)

将maven {url“ https://maven.google.com”}添加到您的根目录build.gradle文件

repositories {
    maven { url "https://maven.google.com" }
    flatDir {
        dirs 'libs'
    }
}

答案 3 :(得分:4)

我遇到了同样的问题,我通过替换来解决了这个问题:

implementation 'com.google.firebase:firebase-core:16.0.1'

implementation 'com.google.firebase:firebase-core:15.0.2'

一切都解决了并且运行良好。

答案 4 :(得分:3)

如上所述@Peter Haddad,

为解决此问题,我遵循了Google Firebase集成准则,并对我的app / build.gradle和project / build.gradle进行了以下更改

如有任何疑问,请点击下面提到的链接

https://firebase.google.com/docs/android/setup

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()
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.gms:google-services:4.2.0'// // google-services plugin it should be latest if you are using firebase version 16.0 +
       
    }
    allprojects {
    repositories {
         google()// add it to top instead of bottom or somewhere in middle
        mavenLocal()
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
       
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        
    }
}

答案 5 :(得分:1)

我能够按照以下步骤解决问题-

1。)当您未将项目连接到Firebase时,会发生此错误。 如果您使用的是Android Studio 2.2或更高版本,请从工具-> Firebase 中执行此操作。

2。)确保已将compile中的implementation替换为dependencies in app/build.gradle

3。)包括firebase文档中的firebase依赖项。现在一切都应该正常了

答案 6 :(得分:1)

这种情况很少见,但是有可能启用了项目的gradle脱机模式,请按照以下步骤禁用脱机模式;

  • 在android studio中,找到标题的文件标签,然后点击
  • 在下拉菜单中,选择设置
  • 在产生的对话框中,选择“构建,执行,部署”,然后选择“ Gradle”
  • 最后取消选中“离线工作”复选框并应用更改

如果这不起作用,请在评论中描述您的Logcat响应,我会尽力帮助您。

答案 7 :(得分:1)

我真正缺少的是什么,然后使它起作用的是下载“ Google Play服务”和“ Google存储库”

转到:设置-> Android SDK-> SDK工具->检查/安装Google Play服务+存储库

SDK Tools Settings SS

希望有帮助。

答案 8 :(得分:0)

在我的情况下,通过将compileSdkVersion和targetSdkVersion从26更改为27来解决了此问题

答案 9 :(得分:0)

如果您在库模块中使用Firebase,则除了应用模块外,还需要向其应用google play服务gradle插件,而且,您还需要注意版本4.2.0(和4.1.0)已损坏,请改用4.0.2版。

问题出在这里:https://github.com/google/play-services-plugins/issues/22

答案 10 :(得分:0)

如果您正在使用

compileSdkVersion 23

在应用程序级别的gradle中,和

classpath 'com.android.tools.build:gradle:2.1.0'

在项目级别的gradle中 并且您已经添加了 google-services.json文件添加到您的项目。

您需要添加以下代码

maven {
   url "https://maven.google.com"
}
项目级gradle文件中存储库块中jcenter()下方的

这是我的gradle文件:

项目级gradle文件:

buildscript {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.google.gms:google-services:4.0.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

和应用程序级别的gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.example.moslem.amazonlikeapp"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.google.firebase:firebase-core:16.0.1'
}
apply plugin: 'com.google.gms.google-services'

答案 11 :(得分:0)

只需添加以下代码并更新所有可用的firebase版本

 implementation 'com.google.firebase:firebase-core:17.2.0'

答案 12 :(得分:0)

如果收到错误消息,指出找不到该库,请检查Google maven存储库中的库和版本。我的版本突然消失,并使构建失败。

https://maven.google.com/web/index.html

答案 13 :(得分:0)

转到

设置-> Android SDK-> SDK工具->

并确保您安装了Google Play服务