Phiên bản cập nhật xung đột lên 8.4.0


197

Lỗi :

Thi hành thất bại cho nhiệm vụ ': app: processDebugGoogleService'. Vui lòng khắc phục xung đột phiên bản bằng cách cập nhật phiên bản plugin của dịch vụ google (thông tin về phiên bản mới nhất có sẵn tại đây ) hoặc cập nhật phiên bản com.google.android.gms lên 8.3.0.

Tôi đã làm tất cả những điều tôi tìm thấy.

  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
        }

Và trong lớp ứng dụng

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

Câu trả lời:


336

Sử dụng các phụ thuộc này cho dự án build.gradle

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

và đặt phần này ở cuối tệp build.gradle cấp ứng dụng (sau phần phụ thuộc).

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

Tôi không có lý do tại sao đặt điều này ở cuối (và không phải ở đầu) giải quyết lỗi.

EDIT 5/1/2016

Vì vậy, cố gắng chấm dứt tất cả các vấn đề mà các bạn gặp phải với giải pháp của tôi

Đây là cấp độ ứng dụng cuối cùng của tôi

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'

và đây là cấp độ dự án cuối cùng của tôi

// 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()
    }
}

So sánh điều này với các tập tin lớp của riêng bạn và thêm hoặc sửa đổi bất kỳ giá trị nào khác với những gì tôi đã viết.


4
compile 'com.google.android.gms:play-services-auth:8.4.0cũng sẽ được yêu cầu.
Shajeel Afzal

2
Tôi luôn tự hỏi làm thế nào mọi người vấp ngã trên các giải pháp như thế này. Phep thử va lôi sai? Cuộn thánh?
A. Steenbergen

77
Tại sao việc đặt nó apply plugin: 'com.google.gms.google-services'ở cuối tệp build.gradle lại hoạt động và đặt nó ở đầu không thành công?
toobsco42

8
Không có giải pháp nào ở trên làm việc cho tôi trong 8.4.0. Tất cả đều thất bại sau lần thứ 2 'Xây dựng lại dự án' Tôi thực hiện sau khi lưu build.gradle. Bản dựng thứ 1 hoạt động (hoặc không bị lỗi lớn), bản dựng thứ hai có lỗi khoảng 8.3.0 so với 8.4.0. Sử dụng 'com.google.android.gms: play-services' thay vì các cá nhân thất bại. Sử dụng (`classpath 'com.google.gms: google-services: 2.0.0-alpha3'`) không thành công với lỗi khác (trên bản dựng thứ 2), vì vậy tôi sử dụng 1.5.0. Sử dụng non Studio Preview không tạo ra sự khác biệt.
arberg

5
QUAN TRỌNG Đừng quên thêm tệp google-services.json của bạn! nếu không, nó sẽ thất bại với thông báo "Tệp google-services.json bị thiếu trong thư mục gốc của mô-đun". Bạn có thể tạo tệp tại đây: developers.google.com/analytics/devguides/collection/android/v4 Và như các tài liệu nói, tiếp theo bạn sẽ thêm tệp này vào projectFolder / app (vì vậy, root của mô-đun ứng dụng của bạn).
Martin Pfeffer

63

Trong mô-đun của ứng dụng (build.gradle)

Di chuyển:

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

đến dòng cuối cùng giải quyết vấn đề.


3
đối với bất kỳ ai thắc mắc tại sao việc chuyển apply plugin:...dòng đến cuối lại hoạt động, thì đó là vì: "Bước này yêu cầu plugin áp dụng: dòng 'com.google.gms.google-services' nằm ở cuối tệp ứng dụng / build.gradle của bạn để không có xung đột phụ thuộc nào được giới thiệu. Bạn có thể thấy kết quả của bước này bằng cách chạy ./gradlew: app: phụ thuộc. "
Tony Chan

15

Làm như sau:

  1. Đặt phần sau vào build.gradle của bạn (Tệp phân loại cấp ứng dụng)

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

Vui lòng kiểm tra ở đây cho phiên bản mới nhất vì điều này tiếp tục thay đổi.

  1. Nếu bạn nhận được thông báo lỗi dưới đây, bạn cần nâng cấp trình bao bọc lớp của mình lên mới nhất trong gradle-wrapper.properies. Tôi đang sử dụng 2.10.

Plugin quá cũ, vui lòng cập nhật lên phiên bản mới hơn hoặc đặt biến môi trường ANDROID_DAILY_OVERRIDE

  1. Đặt dòng sau ở dưới cùng của build.gradle (tệp phân loại cấp mô-đun)

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

1
Thêm dòng plugin áp dụng tại BOTTOM của build.gradle đã sửa nó cho tôi. Cảm ơn!
Panda4Man

Vui mừng bạn đã chỉ định để kiểm tra liên kết cho phiên bản mới nhất. Không có phiên bản hậu tố beta nào hoạt động cho tôi và tôi không biết mọi người lấy tất cả các phiên bản này từ đâu. 2.12 cuối cùng đã làm việc cho tôi.
Ryan H.

7

Điều này dường như được sửa với phiên bản 3.0.0 của plugin Google Services (và phiên bản 9.0.0 của thư viện Google Play Services). Vì vậy, với điều này

xây dựng cấp cao nhất

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

cấp độ ứng dụng build.gradle

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

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

Lưu ý về mặt nhanh: Nếu bạn đang cập nhật lên phiên bản 3.0.0 của google-servicesplugin, hãy đảm bảo tạo lại tệp cấu hình của bạn vì nó có các trường mới (giải thích tại đây ).

Chỉnh sửa (2016-06-20): Mặc dù điều này không biên dịch và chạy, tôi chỉ nhận thấy rằng trong nhật ký xây dựng, nó chỉ định đặt plugin ở dưới cùng của tệp, hoặc mặc định (9.0.0) sẽ được sử dụng. Vì vậy, trong tình huống trên đây không phải là vấn đề vì tôi đang sử dụng phiên bản 9.0.0, nhưng điều này có thể có vấn đề khi cập nhật phụ thuộc. Đây là nhật ký:

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

Đối với tôi chỉ hoạt động này:

Cấp cao nhất.

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

Cấp ứng dụng:

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
di chuyển apply plugin: 'com.google.gms.google-services'xuống phía dưới đã thực hiện công việc trong dự án của tôi
Napoleon

nên ở dưới cùng là yếu tố quan trọng ở đây
Tiến sĩ aNdRO

4

tìm thấy trong ví dụ chính thức

trong lớp dự án

// 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()
    }
}

trong lớp ứng dụng

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
Để sử dụng alpha9làm việc cho tôi với Gradle 2.11. Cảm ơn vì điều này! Bạn có thể vui lòng liên kết đến ví dụ chính thức có thể nó cũng hữu ích cho các vấn đề khác như thế này.
Cilenco


2

Tôi đã cập nhật trong ứng dụng build.gradle

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

và ứng dụng build.gradle

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

Nó làm việc cho.


2

Trong trường hợp của tôi, tôi đã xóa "plugin áp dụng: 'com.google.gms.google-services'" từ cuối gradle.build và nó hoạt động tốt.



1

Tôi đã tìm kiếm ... tại trang Google có giải pháp ... https://developers.google.com/android/guides/google-service-plugin#int sinhtion

Thêm phụ thuộc cho các thư viện cơ bản cần thiết cho các dịch vụ bạn đã bật. Bước này yêu cầu plugin áp dụng: dòng 'com.google.gms.google-services' ở cuối tệp ứng dụng / build.gradle của bạn để không xảy ra xung đột phụ thuộc. Bạn có thể thấy kết quả của bước này bằng cách chạy ./gradlew: app: phụ thuộc.


1

Không có ý nghĩa gì trong việc di chuyển plugin áp dụng: 'com.google.gms.google-services'đến cuối build.gradle . Nó giống như không xác định nó.

Chỉ cần xóa dòng này và đảm bảo áp dụng plugin: ' com.android.application' là có

Sử dụng:

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

nó sẽ biên dịch.


Áp dụng plugin không / có thể có ảnh hưởng đến phiên bản nào được sử dụng. Xem câu trả lời
Ryan H.

0

Trong lớp dự án

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

trong lớp ứng dụng / mô-đun

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

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

-1

Trong lớp dự án:

       compileSdkVersion 23

Nó đang làm việc.


-3

Dưới đây là hướng dẫn của tôi để sửa chữa nó.

  1. Thay đổi để sử dụng compile 'com.google.android.gms:play-services-location:8.3.0'trong ứng dụngbuild.gradle
  2. Di chuyển apply plugin: 'com.google.gms.google-services'đến cuối ứng dụngbuild.gradle
  3. Sử dụng classpath 'com.google.gms:google-services:2.0.0-alpha3'trong build.gradlephụ thuộc dự án
  4. Thay đổi để sử dụng gradle-2.8tronggradle/wrapper/gradle-wrapper.properties
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.