Dịch vụ Google Play GCM 9.2.0 yêu cầu cập nhật vào phiên bản 9.0 trở lại 9.0.0


178

Vì vậy, sáng nay tôi bắt đầu cập nhật lên phiên bản mới nhất của thư viện dự án của mình.

Tôi đang cố cập nhật GCM lên phiên bản 9.2.0 mới nhất, nhưng tôi gặp lỗi này:

Lỗi: Thực thi không thành công 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 https://bintray.com/android/android-tools/com.google.gms.google-service/ ) hoặc cập nhật phiên bản com.google.android.gms lên 9.0.0.

Đây là cách tôi có mã của mình:

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.2'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

Và sau đó:

dependencies {
    ...

    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

Bất cứ ai có cùng một vấn đề / sửa chữa cùng một vấn đề?

Cảm ơn.

BIÊN TẬP

Rõ ràng bạn phải áp dụng plugin GSM của bạn ở cuối tệp ứng dụng / build.gradle của bạn. Khác, phiên bản 9.2.0 sẽ gây ra xung đột trong dự án của bạn.

Để tham khảo, đây là cách tệp app / build.gradle của tôi trông giống như bây giờ:

apply plugin: "com.android.application"
apply plugin: "com.neenbedankt.android-apt"

android {
    ...
}

dependencies {
    ...

    // Google Cloud Messaging
    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

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

vấn đề tương tự ở đây, tôi quay trở lại 9.0.0
mbonnin

@mbonnin Cuối cùng tôi cũng làm như vậy. Nhưng chắc chắn muốn biết những gì đang xảy ra ở đây. Chưa may mắn tìm được câu trả lời.
herrmartell

2
Và sau đó 9.0.0 có lỗi stackoverflow.com/questions/37361651/ và giải pháp này dường như là cập nhật lên 9.2.0 .... Điều này là không thể nhờ vào lỗi ở đây :-(
mbonnin

6
nó hoạt động nếu tôi áp dụng plugin ở cuối tệp build.gradle như Gusthema nói dưới đây
mbonnin

Đọc cách khắc phục vấn đề này đúng cách trong bài viết của tôi ở đây .
Pedro Varela

Câu trả lời:


507

Bạn có đường dây không

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

ở cuối tập tin build.gradle của ứng dụng của bạn?

Tôi đã thấy một số lỗi khi nó ở trên cùng và như được viết ở đây , nó sẽ ở phía dưới.


11
Điều đó không đúng, plugin gms phải ở dưới cùng của tệp như bạn có thể thấy ở đây trên các tài liệu cho gms: developers.google.com/android/guides/google-service-plugin
Gusthema

1
Tôi đứng sửa. Bất kể, điều này sẽ không giải quyết vấn đề.
herrmartell 6/07/2016

1
Tôi không chắc tại sao lần đầu tiên tôi thử nó, nó không hoạt động. Chỉ cần thử lại vì nhận xét của @mbonnin và hiện tại nó đang hoạt động. Cảm ơn bạn.
herrmartell

9
Tôi đã thêm dòng này vào đầu tập tin, nhưng nó đã hoạt động sau khi đặt nó ở dưới cùng.
SHA2NK

2
Thêm plugin ở phía dưới đã giải quyết xung đột phiên bản.
Pratima

54

Chỉ cần đặt dòng này ở dưới cùng của gradletệp mô-đun ứng dụng (không phải gốc của dự án) .

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

Sau đó xây dựng lại dự án của bạn.


11

Tôi đã có cùng một vấn đề, hôm nay 2016 - tháng 10 - 06 Tôi đã giải quyết vấn đề này:

Tôi đã thay đổi tất cả các phụ thuộc bắt đầu bằng 9.?.? đến 9.6.1 tôi đã biên dịch với sdk phiên bản 24 và phiên bản đích 17.

Có một gói khác trong giải pháp của tôi vì tôi đã sử dụng nhiều thứ hơn sau đó chỉ xác thực.

Sau khi thay đổi build.gradle (Module: ứng dụng) với mã bên dưới, hãy thực hiện:

  1. Đặt TÊN gói của bạn trong dòng với các từ ứng dụng "com.YOUR_PACKAGE_HERE"

  2. Đồng bộ hóa dự án của bạn (Ctrl + alt + v) và Xây dựng lại.

Đây là mã của tệp buid.gradle (Mô-đun: ứng dụng) hoạt động với tôi:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.YOUR_PACKAGE_HERE"
        minSdkVersion 24
        targetSdkVersion 17
        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.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-database:9.6.1'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'

    compile 'com.google.firebase:firebase-crash:9.6.1'
    testCompile 'junit:junit:4.12'

    compile 'com.google.firebase:firebase-messaging:9.6.1'

    compile 'com.google.firebase:firebase-ads:9.6.1'


    compile 'com.google.firebase:firebase-auth:9.6.1'


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

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

6

Tình trạng tương tự là với các phiên bản trước. Thông báo rằng các thư viện com.google.android.gms phiên bản mới luôn phát hành trước plugin và không thể sử dụng phiên bản mới vì không tương thích với plugin cũ. Tôi không biết nếu bây giờ plugin là bắt buộc (tài liệu google hút). Tôi nhớ những lúc nó không như vậy. Cách duy nhất là đợi phiên bản plugin mới hoặc bạn có thể thử xóa phần phụ thuộc của plugin, nhưng như tôi đã nói tôi không chắc liệu gcm có hoạt động mà không có nó hay không. Những gì tôi biết tính năng chính của phiên bản 9.2.0 là API Nhận thức mới https://inthecheesefactory.com/blog/google-awTHER-api-in-action/en , nếu bạn không cần nó, bạn có thể sử dụng 9.0. Phiên bản 0 mà không gặp rắc rối.


Ah, đi con số. Vì không có tài liệu nào nêu rõ, tôi giả định các phiên bản mới nhất sẽ được tung ra với plugin yêu cầu. AFAIK, bạn không cần plugin để làm cho GCM hoạt động, vì vậy tôi đoán đây là một giải pháp kiểm tra cập nhật thủ công.
herrmartell

1
Để chắc chắn tài liệu google @yaneq tệ, có cùng một vấn đề ngay bây giờ
Lutaaya Huzaifah Idris

5

Giải pháp của Gustavomcls để thay đổi phiên bản com.google. * Thành phiên bản tương tự làm việc với tôi.

Tôi thay đổi cả hai phụ thuộc thành 9.2.1 trong buid.gradle (Mô-đun: ứng dụng)

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'

Tôi cũng gặp vấn đề này vì căn cứ hỏa lực, nhưng tôi không thích giải pháp này để hạ phiên bản căn cứ hỏa lực xuống 9.2.1
Sam Bellerose

2

mở app/build.gradletừ mô-đun ứng dụng của bạn và viết lại dưới dòng sau khi khối phụ thuộc. Điều này cho phép plugin xác định phiên bản dịch vụ Play nào bạn đang sử dụng

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

Tôi có ý tưởng này từ đây . Trong hướng dẫn này, điểm thứ hai nói rằng dòng plugin ở trên nằm ở cuối app/build.gradletệp của bạn để không có xung đột phụ thuộc nào được đưa ra. Hy vọng nó sẽ giúp bạn ra ngoài.


Tại sao bạn lặp lại câu trả lời đã được đưa ra một nửa năm trước?
Bevor

2

Đối với ứng dụng lai Cordova HOẶC Ionic

Tôi gặp vấn đề tương tự với Ionic 1 Cordova Build sau khi tích hợp Firebase Cloud Messaging (FCM)

Tôi đã khắc phục vấn đề này bằng các bước sau

Vì vậy, một sửa chữa sẽ là: bên trong các nền tảng / android open project.properIES (Đó là một tệp), bạn sẽ có một cái gì đó như thế này

cordova.system.library.1=com.google.android.gms:play-services-ads:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+

Thay thế cái

+

Ký với số phiên bản mục tiêu của bạn - như sau

cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0
cordova.system.library.2=com.google.firebase:firebase-core:9.0.0
cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0

Lưu các tập tin

Sau đó, xây dựng bằng cách sử dụng

 ionic cordova run android

Tôi hy vọng điều này sẽ làm việc cho tất cả mọi người


Điều này chỉ thay đổi lỗi. Đó là một điều tốt vì tôi chỉ nhận được cùng một lỗi ngay cả với hàng ngàn giải pháp đã được thử.
phi công

2

Thêm dòng này ở dưới cùng của lớp.

áp dụng plugin: 'com.google.gms.google-services'

bởi vì nó là đỉnh nó không hoạt động. Tôi đã phải đối mặt với vấn đề tương tự.


1

nếu bạn cũng có Firebase, hãy đặt chúng cùng phiên bản với lỗi.


0

Tôi đã không gặp vấn đề gì với điều này cho đến khi tôi cố gắng sử dụng Dịch vụ vị trí, tại thời điểm đó tôi phải đặt apply plugin: 'com.google.gms.google-services'phần dưới cùng của tệp, thay vì trên cùng. Lý do là khi bạn có nó ở trên cùng có các vấn đề va chạm, và bằng cách đặt nó ở dưới cùng, bạn tránh được những vấn đề đó.


-1

Mục tiêu của bạn SDKcó thể cao hơn SDKthiết bị, hãy thay đổi điều đó. Ví dụ: thiết bị của bạn đang chạy API 23 nhưng mục tiêu của bạn SDKlà 25. Thay đổi 25 thành 23.

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.