อัปเกรดเป็นบริการ Google Play: ข้อผิดพลาด 9.0.0 ล้มเหลวในการแก้ไข: com.google.android.gms: play-services-measure: 9.0.0


125

ฉันอัปเกรดไฟล์ build.gradle จากไฟล์

compile 'com.google.android.gms:play-services:8.4.0'

ถึง

compile 'com.google.android.gms:play-services:9.0.0'

และตอนนี้ฉันได้รับข้อผิดพลาดที่ไม่ได้รับมาก่อน

ข้อผิดพลาด: ไม่สามารถแก้ไขได้: com.google.android.gms: play-services-measure: 9.0.0 ใส่คำอธิบายภาพที่นี่

ใส่คำอธิบายภาพที่นี่


2
คุณได้อัปเดต Google Repository ใน SDK Manager แล้วหรือยัง
CommonsWare

1
อืมม ... เมื่อฉันมองไปที่ POM สำหรับplay-services:9.0.0ใน SDK ของฉันฉันไม่เห็นplay-services-measurementเป็นพึ่งพาและไม่มีของ9.0.0 play-services-measurementคุณขอด้วยตนเองplay-services-measurementหรือไม่? ถ้าไม่ได้ลองทำความสะอาดโครงการหรือทำบรรทัดคำสั่งgradleสร้างกับสวิทช์เพื่อพยายามที่จะได้รับมันจะหยุดมองหา--refresh-dependencies play-services-measurementในทั้งแม้ว่าคุณอาจจะดีกว่าใช้การอ้างอิงมากขึ้นเน้น (คนที่คุณได้ออกความเห็น) มากกว่า "ครัวอ่างล้างจาน" play-servicesหนึ่ง
CommonsWare

1
1. ฉันไม่ได้ร้องขอการวัดผลการเล่นบริการเลยไม่ว่าจะอยู่ที่ไหนในรหัสของฉัน 2. ฉันเปลี่ยนไปใช้บริการเล่น "อ่างล้างจาน" เนื่องจากข้อผิดพลาดนี้ 3. ฉันอาจต้องทำการรีเฟรชซึ่งฉันไม่เคยทำมาก่อน
Philip BH

1
* เกิดข้อผิดพลาด: เกิดปัญหาในการกำหนดค่าโปรเจ็กต์ ': app' > ไม่สามารถแก้ไขการอ้างอิงทั้งหมดสำหรับการกำหนดค่า ': app: _debugCompile' > ไม่พบ com.google.android.gms: play-services-measure: 9.0.0 ค้นหาในตำแหน่งต่อไปนี้: jcenter.bintray.com/com/google/android/gms/… .0.0 / play-services-measure-9.0.0.pom
Philip BH

1
สมมติว่าคำตอบด้านล่างไม่สามารถแก้ปัญหาของคุณได้คุณต้องพิจารณาว่าอะไรกำลังพยายามโหลดการอ้างอิงนั้น (และโดยเฉพาะอย่างยิ่งเวอร์ชันนั้น) play-servicesไม่ต้องใช้มันอีกต่อไปตั้งแต่ 9.0.0 ดังนั้นต้องขออย่างอื่น
CommonsWare

คำตอบ:


246

สิ่งนี้พบเพื่อแก้ไขปัญหา

อัปเดต classpath ของคุณในระดับโปรเจ็กต์ gradle com.google.gms:google-services:2.1.0เป็น classpathcom.google.gms:google-services:3.0.0


39
หากมีใครไม่พบ ... การเปลี่ยนแปลงนี้จะต้องทำใน build.gradle ระดับบนสุด .... สิ่งนี้ใช้ได้ผลสำหรับฉัน แต่แล้วฉันก็พบข้อผิดพลาด "ไม่มีวัตถุ api_key / current_key" ดังนั้นฉันจึงต้องใช้สิ่งนี้ โซลูชันstackoverflow.com/a/37317752/50730
Javier Torón

ฉันได้รับข้อผิดพลาดเก่า "แอตทริบิวต์" การวางแนว "ได้ถูกกำหนดไว้แล้ว" อัปเดต classpath ของ Google-services เป็น 3.0.0 และเปิดใช้งาน GCM และคีย์เซิร์ฟเวอร์ API ที่เพิ่มแล้วจะถูกสร้างขึ้นในไฟล์ google-services.json ใครช่วยฉันได้บ้าง
cgr

1
ตอนนี้ข้อผิดพลาดเปลี่ยนเป็น "Error: Execution failed for task ': app: processFreeDebugGoogleServices'> ไม่มีวัตถุ api_key / current_key" ???
LemonGentry

5
ด้วยความเคารพมีใครสามารถอธิบายได้อย่างแน่ชัดว่าเหตุใด "การแก้ไข" จึงได้ผล ฉันพบว่าคุณภาพของคำตอบ SO ที่เพียงแค่ให้คำแนะนำโดยไม่ชี้ไปที่เอกสารหรือเหตุผลหลักของความล้มเหลวเดิมแทบจะไม่เป็นประโยชน์และอาจทำให้เกิดความสับสนมากขึ้น
Tom Pace

ยังคงได้รับข้อผิดพลาด Error: ไม่พบ com.google.android.gms: play-services-maps: 9.2.0 ต้องการโดย: app_1: app: ไม่ระบุ <a href="searchInBuildFiles"> ค้นหาในไฟล์ build.gradle </a>
Rohit Mandiwal

27

จำเป็น: เวอร์ชันล่าสุดของ Android Studio และบริการ Google Play

คุณสามารถเพิ่มปลั๊กอินให้กับโปรเจ็กต์ของคุณได้โดยการอัปเดตbuild.gradleระดับบนสุดและไฟล์build.gradle ระดับแอพของคุณดังนี้:

classpath 'com.google.gms:google-services:3.0.0'

ชอบ

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

buildscript {
    repositories {
        jcenter()
        mavenLocal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.google.gms:google-services:3.0.0'

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

allprojects {
    repositories {
        jcenter()
        mavenLocal()
    }
}

ตอนนี้คุณต้องเพิ่มการอ้างอิงสำหรับบริการ Google Play ภายในbuild.gradleของแอปของคุณเพิ่ม:

compile 'com.google.android.gms:play-services:9.6.1'

ในที่สุด

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "// set Yours"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"


    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'LICENSE.txt'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.google.android.gms:play-services-gcm:9.6.1'
    compile 'com.android.support:appcompat-v7:24.2.0'

}

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

ฉันได้รับ 'ไม่สามารถดาวน์โหลด Google-services.jar (com.google.gms: google-services: 3.0.0)
Andrew S

1
ลิงก์นั้นไม่มีคำแนะนำอื่นใดนอกเหนือจากที่คุณให้ไว้และลิงก์นั้นล้าสมัย หมายเลขเวอร์ชันมีการเปลี่ยนแปลงเล็กน้อยตั้งแต่นั้นมา
Andrew S

@AndrewS โปรดระบุbuild.gradleไฟล์. คุณสามารถถามเป็นคำถาม
IntelliJ Amiya

@AndrewS โปรดตรวจสอบคำตอบที่แก้ไขของฉัน หลังจากนั้นclean-rebuild-gradle
IntelliJ Amiya

11

GCM ได้รับrebrandedการFirebaseเมฆส่งข้อความ (FCM) หากคุณต้องการที่จะใช้com.google.android.gms:play-services:9.0.0อ่านบทความนี้FCM วิธีนี้อาจได้ผลแก้ไขbuild.gradleไฟล์ของคุณเพื่อใช้ปลั๊กอิน

buildscript {
  dependencies {
    // Add this line
    classpath 'com.google.gms:google-services:3.0.0'
  }
}

4
อย่างไรก็ตามฉันได้รับข้อผิดพลาดนี้Error:Execution failed for task ':app:processDebugGoogleServices'. > Missing api_key/current_key object
Shajeel Afzal

7
@ShajeelAfzal แก้ปัญหานี้โดยสร้าง google-service.json developers.google.com/mobile/add
raditya gumay

ฉันต้องนำเข้าโปรเจ็กต์ของฉันไปยังคอนโซล firebase และสร้างไฟล์ google-service.json ขึ้นมาใหม่เพื่อให้มันใช้งานได้ นำเข้าโครงการของคุณไปยัง firebase จากนั้นคลิกที่ 'จัดการ' จากนั้นคุณสามารถดาวน์โหลดไฟล์ใหม่ได้หากข้างต้นไม่ได้ผลสำหรับคุณ
paul ที่ stepupsoftware

ทำไม3.0.0 ? นั่นไม่ใช่เวอร์ชันเก่า ฉันเชื่อว่าเราอยู่ใน9.4.0แล้ว
IgorGanapolsky

1
@IgorGanapolsky เวอร์ชัน 3.0.0 สำหรับปลั๊กอิน gradle 9.4.0 สำหรับไลบรารี
alvinmeimoun

1

วิธีที่ง่ายที่สุดที่ฉันพบคือใช้เวอร์ชันล่าสุดสำหรับทุกคน

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
//apply plugin: 'com.google.gms.google-services' //Firebase
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
compile 'com.google.firebase:firebase-auth:10.2.6'
compile 'com.google.android.gms:play-services-auth:10.2.6' //10.2.6
compile 'com.google.firebase:firebase-core:10.2.6' // used for FCM
compile 'com.google.firebase:firebase-messaging:10.2.6' // used for FCM
testCompile 'junit:junit:4.12'
//  apply plugin: 'com.google.gms.google-services'

}

ชี้แจง

ใช้ปลั๊กอิน: 'com.google.gms.google-services' // เพิ่มสิ่งนี้ที่ด้านล่าง

  • ก่อนอื่น apply plugin: 'com.google.gms.google-services'// เพิ่มที่ด้านล่าง
  • จากนั้นเพิ่มสิ่งเหล่านี้ลงในการอ้างอิง

    compile 'com.google.firebase:firebase-auth:10.2.6' // ทำให้ suere เป็นเวอร์ชันล่าสุด

    compile 'com.google.android.gms:play-services-auth:10.2.6' //10.2.6 ล่าสุด

    compile 'com.google.firebase:firebase-core:10.2.6' // ใช้สำหรับ FCM

    compile 'com.google.firebase:firebase-messaging:10.2.6' // ใช้สำหรับ FCM

สมมติว่าคุณมี firebase-auth 10.2.6 ที่เป็นเวอร์ชันล่าสุดในวันนี้ 25 พฤษภาคม 2017 แต่ในขณะเดียวกันคุณกำลังใช้ play-services-auth: 9.0.0 หรือต่ำกว่าล่าสุดทั้งคู่จะไม่สามารถทำการเชื่อมต่อและแสดง คุณมีข้อผิดพลาด

ฉันหวังว่านี่จะช่วยได้


0

ฉันแก้ไขปัญหาที่ยุ่งยากนี้โดยเปลี่ยนสตริงใน Gradle เป็น

compile 'com.google.android.gms:play-services:9.0.0' //or latest version

0

เมื่อเปลี่ยนบริการการเล่นเป็นเวอร์ชันที่สูงกว่า 10.2.1 การอ้างอิงของฉันเริ่มไม่สามารถแก้ไขได้

ฉันพบว่าการเปลี่ยน maven URL ต่อไปนี้ช่วยแก้ปัญหาได้:

maven { url 'https://raw.githubusercontent.com/onepf/OPF-mvn-repo/master/' }

ถึง

maven { url 'https://github.com/onepf/OPF-mvn-repo/raw/master/' }

อาจเป็นไปได้ว่าการเปลี่ยนแปลง URL จะหลีกเลี่ยงแคชใน gradle หรือ maven และสามารถแก้ไขได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.