android - 如何编译播放服务:11. 2.0

标签 android google-maps android-gradle-plugin google-play-services android-support-library

我想获取设备的当前位置,我点击此链接:Failed to resolve: com.android.support:cardview-v7:26.0.0 android 本教程需要 Google Play 服务版本 11.2.0 或更高版本。 但是当我编译“com.google.android.gms:play-services:11.2.0”时,我得到:

Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0

这是我的 build.gradle(Module:app):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.example.administrator.googlemap"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        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.android.support:appcompat-v7:26.+'
    compile 'com.google.android.gms:play-services:11.2.0'
    compile 'com.google.android.gms:play-services-maps:11.0.2'
    compile 'com.google.android.gms:play-services-places:11.0.2'
    compile 'com.google.android.gms:play-services-location:11.0.2'
    testCompile 'junit:junit:4.12'
}

这是我的 build.grandle(Project)

buildscript {
    repositories {
        jcenter()
        maven { url "https://maven.google.com/"}
    }
    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
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

如何解决此错误?

最佳答案

代替变量版本名称

compile 'com.android.support:appcompat-v7:26.+'

使用常量版本,最新的是26.1.0

compile 'com.android.support:appcompat-v7:26.1.0'

您已在 buildscript 存储库列表中添加了 google maven repo 链接,您还应该在根 build.gradle 文件的项目依赖项存储库列表中添加 google maven repo

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

选择性编译是更好的选择,而不是完整的 play-services Artifact ,您应该选择项目中需要的内容。

compile 'com.google.android.gms:play-services:11.2.0'  // -> latest is 11.4.0

将其分解为您所需的 Artifact ,例如

compile 'com.google.android.gms:play-services-maps:11.4.0'
compile 'com.google.android.gms:play-services-places:11.4.0'
compile 'com.google.android.gms:play-services-location:11.4.0'

如果您使用的是适用于 Gradle 3.0.0 或更高版本的 Android 插件

repositories {
      mavenLocal()
      mavenCentral()
      google()        //---> Add this
} 

compile替换为implementation,有关此替换的更多信息here

关于android - 如何编译播放服务:11. 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46439496/

相关文章:

android - TelephonyManager 在 android studio 上崩溃

android - 如何在清除通知时重置通知管理器号码

android - 在 Android Eclipse 项目中使用 PayPal sdk

javascript - 路线建立后如何在google map api中更改路线颜色

javascript - 如何将地理位置变量从客户端传递到服务器端

android - 为什么 ProGuard 不混淆这些类?

android - Chrome 如何在 Gboard 的搜索 View 中隐藏 "GIF"按钮?

android - Google Maps v2 for Android map 图 block 重叠

android - Gradle Android库无法找到主项目的资源

android - 创建一个使用 google play 服务的 Android 库