ความขัดแย้งของเวอร์ชั่นอัปเดตเป็น 8.4.0


197

ข้อผิดพลาด :

การดำเนินการล้มเหลวสำหรับงาน ': app: processDebugGoogleServices' โปรดแก้ไขข้อขัดแย้งของรุ่นด้วยการอัปเดตเวอร์ชันของ google-services plugin (ข้อมูลเกี่ยวกับเวอร์ชันล่าสุดมี ให้บริการที่นี่ ) หรืออัปเดตเวอร์ชันของ com.google.android.gms เป็น 8.3.0

ฉันทำทุกสิ่งที่ฉันพบแล้ว

  dependencies {
            // This does not break the build when Android Studio is missing the JRebel for Android plugin.
            classpath 'com.zeroturnaround.jrebel.android:jr-android-gradle:1.0.+'
            classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
            classpath 'com.google.gms:google-services:2.0.0-alpha3'

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

และในแอพพลิเคชั่น

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

คำตอบ:


336

ใช้การขึ้นต่อกันเหล่านี้สำหรับ project build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
    classpath 'com.google.gms:google-services:2.0.0-alpha3'
}

และวางสิ่งนี้ไว้ท้ายไฟล์ build.gradle ระดับแอป (หลังจากการอ้างอิง)

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

ฉันไม่มีเงื่อนงำว่าทำไมการวางสิ่งนี้ในตอนท้าย (และไม่ใช่ตอนเริ่มต้น) แก้ข้อผิดพลาด

แก้ไข 5/1/2559

ตกลง ... ดังนั้นพยายามที่จะยุติปัญหาทั้งหมดที่พวกคุณต้องเผชิญกับทางออกของฉัน

นี่คือระดับแอปสุดท้ายของฉัน

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your-app-name"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.mcxiaoke.volley:library:1.0.6@aar'
}

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

และนี่คือระดับโครงการสุดท้ายของฉัน

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

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

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

allprojects {
    repositories {
        jcenter()
    }
}

เปรียบเทียบสิ่งนี้กับไฟล์ gradle ของคุณและเพิ่มหรือแก้ไขค่าใด ๆ ที่แตกต่างจากที่ฉันเขียน


4
compile 'com.google.android.gms:play-services-auth:8.4.0จะต้องถูก
Shajeel Afzal

2
ฉันมักจะสงสัยว่าผู้คนต่างแก้ปัญหาเช่นนี้ได้อย่างไร ลองผิดลองถูก? โฮลี่สโครล?
A. Steenbergen

77
ทำไมการวางไฟล์ไว้apply plugin: 'com.google.gms.google-services'ที่ส่วนท้ายของไฟล์ build.gradle จะทำงานและวางไว้ที่การเริ่มต้นทำงานล้มเหลว
toobsco42

8
วิธีแก้ปัญหาด้านบนไม่ทำงานสำหรับฉันสำหรับ 8.4.0 ทั้งหมดล้มเหลวหลังจาก 2 'สร้างใหม่โครงการ' ฉันดำเนินการหลังจากบันทึก build.gradle งานสร้างครั้งที่ 1 (หรือไม่ล้มเหลวเสียงดัง) ส่วนที่สองแสดงข้อผิดพลาดเกี่ยวกับ 8.3.0 เทียบกับ 8.4.0 ใช้ 'com.google.android.gms: play-services' แทนบุคคลล้มเหลว การใช้ (`classpath 'com.google.gms: google-services: 2.0.0-alpha3'`) ล้มเหลวพร้อมข้อผิดพลาดอื่น ๆ (ในรุ่นที่ 2) ดังนั้นฉันจึงใช้ 1.5.0 การใช้ตัวอย่างที่ไม่ใช่สตูดิโอไม่ได้สร้างความแตกต่าง
arberg

5
สำคัญอย่าลืมเพิ่มไฟล์ google-services.json ของคุณ! มิฉะนั้นจะล้มเหลวด้วยข้อความ "ไฟล์ google-services.json หายไปจากโฟลเดอร์โมดูลรูต" คุณสามารถสร้างไฟล์ได้ที่นี่: developers.google.com/analytics/devguides/collection/android/v4และตามที่เอกสารบอกว่าต่อจากนั้นคุณจะเพิ่มไฟล์นี้ใน projectFolder / app (ดังนั้นรากของแอปโมดูลของคุณ)
Martin Pfeffer

63

ในโมดูลของแอปพลิเคชัน (build.gradle)

ย้าย:

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

บรรทัดสุดท้ายแก้ไขปัญหาได้


3
สำหรับทุกคนที่สงสัยว่าทำไมการย้ายapply plugin:...สายไปยังจุดสิ้นสุดนั้นเป็นเพราะสิ่งนี้: "ขั้นตอนนี้กำหนดให้ปลั๊กอินใช้: บรรทัด 'com.google.gms.google-services' อยู่ที่ด้านล่างของไฟล์แอป / build.gradle ของคุณ เพื่อไม่ให้มีการชนกันของการอ้างอิงคุณสามารถดูผลลัพธ์ของขั้นตอนนี้ได้โดยการรัน. /gradlew: แอพ: การอ้างอิง "
Tony Chan

15

ทำดังต่อไปนี้:

  1. วางสิ่งต่อไปนี้ใน build.gradle ของคุณ (ไฟล์ gradle ระดับแอปพลิเคชัน)

    dependencies {
          classpath 'com.android.tools.build:gradle:2.0.0-beta2'
          classpath 'com.google.gms:google-services:2.0.0-beta2'
    }

โปรดตรวจสอบเวอร์ชั่นล่าสุดที่นี่เนื่องจากมีการเปลี่ยนแปลง

  1. หากคุณได้รับข้อความแสดงข้อผิดพลาดด้านล่างเกินกว่าที่คุณต้องอัปเกรด wrapper ของคุณเป็น gradle-wrapper.properties ฉันใช้ 2.10

ปลั๊กอินเก่าเกินไปโปรดอัปเดตเป็นเวอร์ชันล่าสุดหรือตั้งค่าตัวแปรสภาพแวดล้อม ANDROID_DAILY_OVERRIDE

  1. วางบรรทัดต่อไปนี้ที่ด้านล่างของ build.gradle (ไฟล์ gradle ระดับโมดูล)

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

1
การเพิ่มบรรทัดใช้ปลั๊กอินที่ด้านล่างของ build.gradle ของฉันแก้ไขให้ฉัน ขอบคุณ!
Panda4Man

ดีใจที่คุณระบุเพื่อตรวจสอบลิงค์สำหรับรุ่นล่าสุด ไม่มีเวอร์ชันต่อท้ายเบต้าที่ใช้งานได้สำหรับฉันและฉันไม่รู้ว่าผู้คนรับรุ่นเหล่านี้ทั้งหมดมาจากไหน 2.12 ในที่สุดก็ใช้งานได้สำหรับฉัน
Ryan H.

7

ดูเหมือนว่าจะได้รับการแก้ไขด้วยปลั๊กอิน Google Services เวอร์ชัน 3.0.0 (และเวอร์ชัน 9.0.0 ของไลบรารี Google Play Services) ดังนั้นด้วยสิ่งนี้

build.gradle ระดับบนสุด

dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}

ระดับแอป build.gradle

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

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

หมายเหตุด้านด่วน:หากคุณกำลังอัปเดตgoogle-servicesปลั๊กอินเวอร์ชัน 3.0.0 ตรวจสอบให้แน่ใจว่าได้สร้างไฟล์การกำหนดค่าใหม่เนื่องจากมีฟิลด์ใหม่ (อธิบายที่นี่ )

แก้ไข (2016-06-20):ในขณะนี้จะรวบรวมและเรียกใช้ฉันเพิ่งสังเกตเห็นว่าในบันทึกการสร้างมันไม่ระบุที่จะใส่ปลั๊กอินที่ด้านล่างของไฟล์หรือจะใช้ค่าเริ่มต้น (9.0.0) ดังนั้นในสถานการณ์ข้างต้นนี่ไม่ใช่ปัญหาเนื่องจากฉันใช้เวอร์ชัน 9.0.0 แต่อาจเป็นปัญหาเมื่อทำการอัปเดตการอ้างอิง นี่คือบันทึก:

google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used. please apply google-services plugin at the bottom of the build file.


5

สำหรับฉันทำงานได้เฉพาะสิ่งนี้:

ระดับสูง.

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

ระดับแอป:

dependencies {
    compile 'com.google.android.gms:play-services-gcm:9.0.1'
    compile 'com.google.android.gms:play-services-location:9.0.1'
}

// should be at the bottom
apply plugin: 'com.google.gms.google-services'

1
การย้ายapply plugin: 'com.google.gms.google-services'ไปด้านล่างทำงานในโครงการของฉัน
นโปเลียน

ควรอยู่ด้านล่างเป็นปัจจัยสำคัญที่นี่
ดร. aNdRO

4

พบในตัวอย่างเป็นทางการ

ในระดับโครงการ

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

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

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

allprojects {
    repositories {
        jcenter()
    }
}

ในแอป gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.google.samples.quickstart.signin"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

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

    packagingOptions {
        exclude 'LICENSE.txt'
    }

    // Resolve dependency differences between app and tests
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:23.1.1'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'

    // Dependency for Google Sign-In
    compile 'com.google.android.gms:play-services-auth:8.4.0'

    // UiAutomatorTesting
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile 'com.android.support:support-annotations:23.1.1'
}

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

1
ที่จะใช้ทำงานให้ฉันด้วยalpha9 Gradle 2.11ขอบคุณสำหรับสิ่งนี้! คุณช่วยลิงค์ไปยังตัวอย่างที่เป็นทางการได้ไหมมันอาจจะเป็นประโยชน์สำหรับปัญหาอื่น ๆ เช่นนี้
Cilenco


2

ฉันได้อัปเดตในแอพ build.gradle แล้ว

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

และแอป build.gradle

  dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

มันทำงานเพื่อ


2

ในกรณีของฉันฉันได้ลบ "ใช้ปลั๊กอิน: 'com.google.gms.google-services'" จากส่วนท้ายของ gradle.build และทำงานได้ดี



1

ฉันกำลัง serching ... ที่หน้า Google มีวิธีแก้ปัญหา ... https://developers.google.com/android/guides/google-services-plugin#introduction

เพิ่มการพึ่งพาสำหรับไลบรารีพื้นฐานที่จำเป็นสำหรับบริการที่คุณเปิดใช้งาน ขั้นตอนนี้ต้องการให้ปลั๊กอินใช้งาน: 'com.google.gms.google-services' อยู่ที่ท้ายไฟล์แอพ / build.gradle ของคุณเพื่อไม่ให้มีการชนกันของข้อมูล คุณสามารถเห็นผลลัพธ์ของขั้นตอนนี้ได้โดยการรัน. /gradlew: แอพ: การอ้างอิง


1

ไม่มีความหมายในการย้ายปลั๊กอินใช้: 'com.google.gms.google-services'ที่ส่วนท้ายของbuild.gradle build.gradleมันเหมือนกับว่าไม่ได้กำหนด

เพียงลบบรรทัดนี้และตรวจสอบให้แน่ใจว่าใช้ปลั๊กอิน: ' com.android.application' อยู่ที่นั่น

ใช้:

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

มันจะรวบรวม


การใช้ปลั๊กอินทำ / อาจมีผลกับเวอร์ชันที่ใช้ ดูคำตอบ
Ryan H.

0

ในระดับโครงการ

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:2.0.0-alpha6'
    }
}

ในแอป / โมดูล gradle

apply plugin: 'com.google.gms.google-services'
android {
    ...
}

dependencies {
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
}


-3

นี่คือคำแนะนำของฉันเพื่อแก้ไข

  1. เปลี่ยนเป็นใช้compile 'com.google.android.gms:play-services-location:8.3.0'ในแอพbuild.gradle
  2. ย้ายapply plugin: 'com.google.gms.google-services'ไปยังจุดสิ้นสุดของแอพbuild.gradle
  3. ใช้classpath 'com.google.gms:google-services:2.0.0-alpha3'ในการbuild.gradleพึ่งพา โครงการ
  4. เปลี่ยนการใช้งานgradle-2.8ในgradle/wrapper/gradle-wrapper.properties
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.