找不到play-services-basement.aar

时间:2018-05-28 09:42:21

标签: gradle google-play-services

昨天我尝试构建我的应用程序,一切正常。

今天,没有对项目进行任何更改......突然间,我收到了这条警告信息,告诉我:

Error:Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:11.0.1). 
Searched in the following locations:
    https://jcenter.bintray.com/com/google/android/gms/play-services-basement/11.0.1/play-services-basement-11.0.1.aar

是否有人遇到过同样的问题?

如果你按照它搜索包的链接,它基本上可以通过浏览器立即下载。我想服务器端有什么变化?也许是命名惯例?

看起来它正在寻找:play-services-basement.aar并取代play-services-basement-11.0.1.aar? 这可能是命名约定还是gradle问题?

6 个答案:

答案 0 :(得分:353)

jcenter()具有某些库的镜像(我想它们是有意做的),这些库最初应通过google()或maven()存储库获得。当gradle构建工作时,对于项目中使用的任何库,首先要查找的存储库是repositories {..中首先列出的存储库,当jcenter()镜像没有发布时(例如com.google)。 android.gms:play-services-ads:15.0.1(对于我来说),您的gradle正在寻找,构建失败并出现此类错误。

因此,jcenter()应该在repositories {..部分的最后位置列出,如下所示。

   buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }...

  allprojects {
    repositories {
        google()
        jcenter()
    }
  }

答案 1 :(得分:13)

这太疯狂了!!!我遇到了同样的问题。生成工作正常,然后突然开始失败,并出现相同的问题。我尝试了上述建议,但对我没有用。最后,这对我有用:

更新到最新的Firebase依赖项:

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-ads:17.0.0'

此外,广告服务:

  

实现'com.google.android.gms:play-services-ads:17.0.0'

注意:对于play-services-ads:17.0.0,必须在清单文件中添加以下内容,否则应用程序在打开时崩溃。

<application>
    <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="[ADMOB_APP_ID]"/>
</application>

答案 2 :(得分:6)

更新#2 2018/05/29

问题看起来是 fixed 现在已经消失了,我仍在使用相同的gradle配置。但是我前一段时间做了这些步骤我不确定这些是否做了什么,或者这是否是服务器端问题并且最近得到修复/更新。我刚刚注意到在执行以下步骤后问题已经消失:

  
      
  1. 在项目级gradle.build的buildscript > repositoriesallprojects > repositories中添加以下内容。

         
        
    • google()
    •   
    • maven { url 'http://jcenter.bintray.com' }
    •   
  2.   
  3. 将google-services类路径更改为
    classpath com.google.gms:google-services:4.0.1'

  4.   
  5. 将项目与Gradle文件同步

  6.   


更新#1 2018/05/29

我通过在 app-level gradle中将我的firebase依赖项降级到~12.0.0来解决这个错误。但这将严重影响应用程序,仍在寻找更可行的解决方法。



    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'
    ...
    compile 'com.google.firebase:firebase-core:12.0.0'
    compile 'com.google.firebase:firebase-database:12.0.0'
    compile 'com.google.firebase:firebase-storage:12.0.0'
    compile 'com.google.firebase:firebase-auth:12.0.0'
    compile 'com.google.firebase:firebase-crash:12.0.0'
    ...


<小时/>

同样,我遇到过@SimbaClaws描述的相同问题。在我昨天遇到同样的问题之前,一切都在顺利进行。

我的项目级 build.gradle

中包含以下代码


    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        repositories {
            jcenter()
            maven {
                url 'https://maven.fabric.io/public'
            }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            //classpath 'com.google.gms:google-services:3.0.0'
            classpath 'com.google.gms:google-services:3.2.1'
            classpath 'io.fabric.tools:gradle:1.25.1'
        }
    }

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

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


app-level build.gradle

的以下代码


    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.1"
        defaultConfig {
            applicationId "my.secret.application"
            minSdkVersion 16 // 19
            targetSdkVersion 26
            versionCode 1
            versionName "5.0.204"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })

        compile 'com.google.firebase:firebase-core:15.0.2'
        compile 'com.google.firebase:firebase-database:15.0.0'
        compile 'com.google.firebase:firebase-storage:15.0.2'
        compile 'com.google.firebase:firebase-auth:15.1.0'
        compile 'com.google.firebase:firebase-crash:15.0.2'
        compile 'com.android.support:appcompat-v7:26.+'
        compile 'com.android.support:design:26.+'
        compile 'com.android.support:recyclerview-v7:26.+'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'de.hdodenhof:circleimageview:2.2.0'
        compile 'com.android.support:palette-v7:26.+'
        compile 'com.android.support:support-v4:26.+'
        compile 'com.android.support:cardview-v7:26.+'
        compile 'com.github.bumptech.glide:glide:3.7.0'
        compile 'org.greenrobot:eventbus:3.1.1'
        testCompile 'junit:junit:4.12'
        compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
    }


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


任何人都可以建议我是否遗漏了什么?我还在寻找可能的解决方法和答案。 TIA!

答案 3 :(得分:2)

有同样的问题,对我来说,这里提到的答案都没有用。因此,我只是更新了gradle文件中的依赖项,无论哪个依赖项具有com.google.gms :(将它们保留在相同的版本示例16.0.0中)

答案 4 :(得分:1)

我也遇到了这个问题。我发现的根本原因是构建Gradle版本不一致。 在Gradle Scripts信息库中,“如果我可以这样称呼”,有两个build gradle模块。 build.gradle(项目:应用名称)和build.gradle(模块:app)。确保依赖项中的类路径'com.android.tools.build:gradle:3.2.1'正在使用该工具的最新版本。不一致会导致构建问题。

答案 5 :(得分:0)

就我而言,刚刚添加www的网址在开始为我添加url "https://jitpack.io/"之后就像www。在其他存储库中,也请尝试添加显式URL。

maven {
            url "https://www.jitpack.io/"
        }