Android Studio Gradle: Błąd: nie udało się wykonać zadania „: app: processDebugGoogleServices”. > Nie znaleziono klienta pasującego do pakietu


124

Próbuję zaktualizować moje zależności usług Google Play do wersji 8.4.0, postępując zgodnie z przykładem podanym przez Google tutaj , ale pojawia się następujący błąd („com.example.exampleapp” zastępuje nazwę mojego pakietu aplikacji):

Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.example.exampleapp'

Projekt build.gradle:

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

Moduł app / build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.exampleapp"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    useLibrary 'org.apache.http.legacy'

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

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.exoplayer:exoplayer:r1.5.2'
    compile 'com.google.android.gms:play-services-auth:8.4.0'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
    compile('com.mapbox.mapboxsdk:mapbox-android-sdk:3.0.0@aar') {
        transitive = true
    }
    compile files('libs/commons-lang3-3.3.2.jar')
}

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

gradle-wrapper.properties:

#Fri Jan 01 08:23:56 CST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip

Jakieś pomysły, dlaczego gradle nie może rozpoznać mojej własnej nazwy pakietu aplikacji?


EDYTOWAĆ:

Ok, tym razem otrzymuję różne błędy.

Na podstawie linku, który dostarczył Shawn Thye, dodałem to na dole pliku app / build.gradle:

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

i zostawiając wszystko inne co wymieniłem wcześniej wyskoczył mi ten błąd:

Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugAndroidTestSources]
/Users/user/Documents/AndroidStudio/ExampleApp/app/build.gradle
Error:(1, 1) A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /Users/user/Documents/AndroidStudio/ExampleApp/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip
Information:BUILD FAILED
Information:Total time: 0.921 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

i konsola Gradle:

Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources]

Configuration on demand is an incubating feature.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/user/Documents/AndroidStudio/ExampleApp/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /Users/user/Documents/AndroidStudio/ExampleApp/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.211 secs

Więc wtedy zmieniłem gradle-wrapper.properties zgodnie z żądaniem na „gradle-2.10-all” i otrzymałem ten błąd:

Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources]
google-services plugin could not detect any version for com.google.android.gms, default version: 8.3.0 will be used.
please apply google-services plugin at the bottom of the build file.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library
:app:prepareComAndroidSupportCardviewV72311Library
:app:prepareComAndroidSupportDesign2311Library
:app:prepareComAndroidSupportGridlayoutV72311Library
:app:prepareComAndroidSupportRecyclerviewV72311Library
:app:prepareComAndroidSupportSupportV42311Library
:app:prepareComDigitsSdkAndroidDigits192Library
:app:prepareComFacebookAndroidFacebookAndroidSdk470Library
:app:prepareComGoogleAndroidExoplayerExoplayerR152Library
:app:prepareComGoogleAndroidGmsPlayServicesAuth840Library
:app:prepareComGoogleAndroidGmsPlayServicesBase840Library
:app:prepareComGoogleAndroidGmsPlayServicesBasement840Library
:app:prepareComGoogleAndroidGmsPlayServicesMaps840Library
:app:prepareComGoogleAndroidGmsPlayServicesMeasurement830Library
:app:prepareComMapboxMapboxsdkMapboxAndroidSdk230Library
:app:prepareComTwitterSdkAndroidTweetComposer102Library
:app:prepareComTwitterSdkAndroidTweetUi180Library
:app:prepareComTwitterSdkAndroidTwitter1110Library
:app:prepareComTwitterSdkAndroidTwitterCore162Library
:app:prepareIoFabricSdkAndroidFabric1310Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:processDebugManifest
:app:fabricGenerateResourcesDebug
:app:generateDebugResValues UP-TO-DATE
:app:processDebugGoogleServices
Found com.google.android.gms:play-services-auth:8.4.0, but version 8.3.0 is needed for the google-services plugin.
Found com.google.android.gms:play-services-maps:8.4.0, but version 8.3.0 is needed for the google-services plugin.
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 8.3.0.
Information:BUILD FAILED
Information:Total time: 5.724 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

I konsola Gradle:

Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources]

Configuration on demand is an incubating feature.
google-services plugin could not detect any version for com.google.android.gms, default version: 8.3.0 will be used.
please apply google-services plugin at the bottom of the build file.
Incremental java compilation is an incubating feature.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library
:app:prepareComAndroidSupportCardviewV72311Library
:app:prepareComAndroidSupportDesign2311Library
:app:prepareComAndroidSupportGridlayoutV72311Library
:app:prepareComAndroidSupportRecyclerviewV72311Library
:app:prepareComAndroidSupportSupportV42311Library
:app:prepareComDigitsSdkAndroidDigits192Library
:app:prepareComFacebookAndroidFacebookAndroidSdk470Library
:app:prepareComGoogleAndroidExoplayerExoplayerR152Library
:app:prepareComGoogleAndroidGmsPlayServicesAuth840Library
:app:prepareComGoogleAndroidGmsPlayServicesBase840Library
:app:prepareComGoogleAndroidGmsPlayServicesBasement840Library
:app:prepareComGoogleAndroidGmsPlayServicesMaps840Library
:app:prepareComGoogleAndroidGmsPlayServicesMeasurement830Library
:app:prepareComMapboxMapboxsdkMapboxAndroidSdk230Library
:app:prepareComTwitterSdkAndroidTweetComposer102Library
:app:prepareComTwitterSdkAndroidTweetUi180Library
:app:prepareComTwitterSdkAndroidTwitter1110Library
:app:prepareComTwitterSdkAndroidTwitterCore162Library
:app:prepareIoFabricSdkAndroidFabric1310Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:processDebugManifest
:app:fabricGenerateResourcesDebug
:app:generateDebugResValues UP-TO-DATE
:app:processDebugGoogleServices
Found com.google.android.gms:play-services-auth:8.4.0, but version 8.3.0 is needed for the google-services plugin.
Found com.google.android.gms:play-services-maps:8.4.0, but version 8.3.0 is needed for the google-services plugin.
:app:processDebugGoogleServices FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 8.3.0.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 5.724 secs

Pyta o wtyczkę usług Google na dole pliku kompilacji, którą już jest, i prosi mnie o ponowne uruchomienie 8.3.0 ... co zrobię, ponieważ to jedyna rzecz, która teraz działa ...


Jak zmieniłeś nazwę swojego projektu?
— gerardnimo

Nie zmieniłem nazwy ani nie zreformowałem projektu od czasu jego utworzenia. Jednak jeśli chodzi o powyższy kod, „com.example.exampleapp” zastępuje rzeczywistą nazwę mojego pakietu aplikacji.
— sean

rozwiązałeś to? Mam ten sam problem
— dejavu89

Niestety jeszcze nie. Na razie powróciłem do 8.3.0 ...
— sean

Czy mógłbyś opublikować cały logcat? Wygląda na to, że nie jest to podstawa błędu, który otrzymujesz, może być znacznie więcej.
— gerardnimo

Odpowiedzi:


166
"client": [
{
  "client_info": {
    "mobilesdk_app_id": "9:99999999:android:9ccdbb6c1ae659b8",
    "android_client_info": {
      "package_name": "[packagename]"
    }
  }

package_namemusi odpowiadać temu, co jest w Twoim pliku manifestu. możesz znaleźć google-services.jsonplik, jeśli spojrzysz na przykładowe zdjęcie poniżej.

wprowadź opis obrazu tutaj


Dzięki, to był dokładnie mój przypadek
— Leo Droidcoder

Rozwiązał mój problem.
— X09

Rozwiązał mój problem! Dzięki!
— Coeus,

problem był tutaj "google-services.json", jak wspomniałeś ... dzięki :)
— Hossein Mansouri

Dziękuję bardzo brachu :-)
— Kumar KS

96

Simpal to łatwe W moim przypadku rozwiązano jak poniżej

wprowadź opis obrazu tutaj

Upewnij się, że nazwa twojego pakietu w pliku mainifests jest taka sama jak applicationId twojego gradle.


4
To było dla mnie prawdziwe rozwiązanie! Dzięki Hiren.
— Chris - Jr

tak, ponieważ zanim zmieniłem nazwę pakietu tylko w manifeście. Thaaankssssssssssssssss
— ugali soft

Najlepiej przyjdzie Chris Brother i Zacharia Brother
— Hiren

13
W moim przypadku google-services.json nie miało poprawnej nazwy pakietu.
— sandeepd

Jeśli moja odpowiedź jest pomocna i prawdziwa, zaznacz ją jako prawdziwą
— Hiren


21

Rozwiązano problem uzyskiwania wyjątku

java.lang.IllegalStateException: Domyślna aplikacja FirebaseApp nie jest inicjowana w tym procesie Upewnij się, że najpierw wywołałeś FirebaseApp.initializeApp (Context).

w FirebaseInstanceId.getInstance (). getToken ()

Sprawdź, czy nazwa_pakietu dokładnie odpowiada identyfikatorowi aplikacji 1) build.gradle

defaultConfig {
        applicationId "build.gradle.exactly.matches.json"
...
}

powinien dokładnie odpowiadać 2) google-services.json

{
      "client_info": {
        "mobilesdk_app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
        "android_client_info": {
          "package_name": "build.gradle.exactly.matches.json"
        ....


18

Dokładnie ten sam błąd przydarzył mi się tylko wtedy, gdy próbowałem zbudować mój typ kompilacji do debugowania. Sposób, w jaki to rozwiązałem, polegał na zmianie google-services.jsontypu kompilacji dla mojego typu debugowania. Moje oryginalne pole miało pole o nazwie, client_ida jego wartość to android:com.example.exampleapp, więc właśnie usunąłem android:prefiks i zostawiłem jakocom.example.exampleapp usunąłem a potem moja kompilacja gradle zakończyła się pomyślnie.

Mam nadzieję, że to pomoże!

EDYTOWAĆ

Właśnie dodałem z powrotem android:prefiks w moim google-services.jsoni nadal działa poprawnie. Nie jestem pewien, co dokładnie się stało, ale udało mi się rozwiązać problem za pomocą powyższego rozwiązania.


Tak czy inaczej otrzymuję te same błędy. W każdym razie dzięki!
— sean

2
zmień wersję z 2.8na 2.10w gradle wrapper, następnieFile -:> Invalidate cache/Restart
— piotrek1543

Więc to nie jest do końca odpowiedź. Nie odrzucam go z powodu waszych wysiłków. Ale jeśli masz lepszą odpowiedź, będzie to bardzo pomocne.
— Killer

Doskonała / Nazwa pakietu była inna w moim manifeście i google-services.json
— Oleg Ushakov

doskonałe odpowiedzi. Podejrzewałem jako taki na podstawie błędu z processGoogleDebugServices ....
— zooter

15

Do mocowania:

Nie znaleziono pasującego klienta dla nazwy pakietu „com.example.exampleapp:

Należy uzyskać poprawny google-service.jsonplik do pakietu z tutaj

Do mocowania:

Napraw konflikt wersji, aktualizując wersję wtyczki Google-services (informacje o najnowszej wersji są dostępne na https://bintray.com/android/android-tools/com.google.gms.google-services/ ) lub zaktualizuj wersję com.google.android.gms do 8.3.0 .:

Powinieneś przejść apply plugin: 'com.google.gms.google-services'na koniec gradle.buildpliku aplikacji . Coś takiego:

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

10

Napotykam problem podczas korzystania z Firebase, myślę, że inny pakiet powoduje problem.

Rozwiązałem przez dodanie pakietu nowej aplikacji w konsoli Firebase i ponowne pobranie google-services.json. wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj


6

Otwórz google-services.json w Android Studio, możemy zobaczyć obiekt json i zawierać następujące elementy w tablicy jsonarray „client”

"client_id": "android: nazwa twojego pakietu", "nazwa_pakietu": "nazwa twojego pakietu",

Sprawdź swoją paczkę i kontynuuj.


5

Odniosłem sukces używając tej konfiguracji:

classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'com.google.gms:google-services:2.0.0-alpha3'
//or use
//classpath 'com.android.tools.build:gradle:2.0.0-alpha6'

i

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

przy użyciu 8.40 usług Google Play. Alpha5 i Alpha6 dały ten sam błąd 2.8, który miałeś, niezależnie od tego, że DistributionUrl to 2.10


5

Zdarzyło mi się to, gdy nazwa mojego pakietu nie była reprezentowana w pobranym pliku google-services.json. Otwórz plik google-services.json i upewnij się, że istnieje obiekt client_info, którego nazwa pakietu odpowiada nazwie pakietu manifestów.

W googleservices.json:

"client": [
  {
    "client_info": {
    "mobilesdk_app_id": "my-app-id",
    "android_client_info": {
      "package_name": "com.me.android.test.myapp"
  }

iw twoim manifeście:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.android.test.myapp" >

Może być konieczne ponowne utworzenie nowego google-services.json dla swojego projektu, który możesz utworzyć tutaj: https://developers.google.com/mobile/add?platform=android&cntapi=gcm


5

Twój google-services.json nazwa pakietu musi dopasować build.gradle applicationId (applicationId „Twoja nazwa pakietu”)


3

Jeśli zdarzyło się to po zmianie nazwy pakietu aplikacji , musisz zaktualizować następujące elementy:

1) plik google-services.json w swojej aplikacji, wyszukując w pliku atrybut „nazwa_pakietu” i aktualizując go o nową nazwę pakietu.

2) Zaktualizuj dane logowania klienta aplikacji w Google Developers Console , przechodząc doCredentials i wybierając klucz klienta z systemem Android, a następnie zaktualizuj również nazwę pakietu o nową.

Mam nadzieję, że to pomoże.



3

Miałem ten sam problem i po prostu go łatwo rozwiązałem.Upewnij się, że nazwa pakietu dla pakietu w tagu mainfest w pliku manifest.xml i applicationId w tagu aplikacji w pliku poziomu aplikacji gradle mają tę samą nazwę pakietu

w pliku manifest.xml

package="com.example.work"

na poziomie aplikacji gradle

applicationId "com.example.work"

mam nadzieję, że to pomoże


1

Myślę, że ponieważ używasz Play-Service 8.4.0

To wymagało

classpath 'com.android.tools.build:gradle:2.0.0-alpha5'
classpath 'com.google.gms:google-services:2.0.0-alpha5'

możesz również polecić to .


To daje mi inny błąd: Błąd: (37, 13) Nie udało się rozwiązać: com.google.android.gms: play-services-auth: 2.0.0-alpha5 Błąd: (38, 13) Nie udało się rozwiązać: com .google.android.gms: play-services-maps: 2.0.0-alpha5 Ostrzeżenie: wymagana jest wersja Gradle 2.10. Obecna wersja to 2.4. Jeśli używasz otoki gradle, spróbuj edytować DistributionUrl w ...
— sean

@TangoJLabs no !, to jest ścieżka klas, niekompletna biblioteka
— Shawn Thye

1

W moim przypadku musiałem sprawdzić google-services.jsonplik i upewnić się, że "package_name"został poprawnie ustawiony na nazwę pakietu mojej aplikacji na Androida. W .backendmoim przypadku został do niego dołączony automatycznie wygenerowany plik usług .


1

Zdarzyło mi się to, gdy nazwa mojego pakietu nie była reprezentowana w pobranym pliku google-services.json. Otwórz plik google-services.json i upewnij się, że istnieje obiekt client_info, którego nazwa pakietu odpowiada nazwie pakietu manifestów.

Upewnij się, że nazwa pakietu w manifeście projektu jest dokładnie taka sama w pliku google-services.json

dzięki.


1

Dodaj to w pliku oceny projektu

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

1

Wystarczy uruchomić studio Android w trybie „Uruchom jako administrator”

Lub sprawdź nazwę swojego pakietu w pliku google-services.json


0

po przestudiowaniu powyższego, nazwa pakietu w pliku manifestu i identyfikator aplikacji w pliku kompilacji Gradle powinny być takie same. mój problem nie został rozwiązany.

W rzeczywistości identyfikator aplikacji w pliku kompilacji Gradle powinien być taki sam, jak nazwa pakietu w pliku google-services.json. jeśli plik google-services.json ma inną nazwę pakietu. usunąć tę aplikację z Google Analytics lub konsoli Firebase. i pobierz nowy plik.


0

Proszę zweryfikuj build.gradle.

defaultConfig {
        applicationId "<packagename>"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

Sprawdź nazwę pakietu, może to również spowodować błąd.


0

Za każdym razem, gdy zapisujesz nazwę pakietu: 1. Podczas tworzenia nowego projektu w Android Studio i 2. Podczas tworzenia pliku konfiguracyjnego

TY powinieneś pisać to małymi literami - po zmianie na małe litery działa. Jeśli nie chcesz tracić czasu, po prostu przejdź do pliku .json i zamień com.myname.MyAPPlicationnamE na com.myname.myapplicationname (dla każdego dopasowania w pliku json).


0

Jeśli uruchamiasz inny typ kompilacji (na przykład podpisywanie apk lub itp.), musisz wybrać typ kompilacji aplikacji, a następnie uruchomić projekty.

proszę zobaczyć poniższy obraz. do uruchomienia tego projektu musimy wybrać „app” w wyskakującym okienku konfiguracji uruchamiania. wprowadź opis obrazu tutaj


0

W moim przypadku po prostu musiałem to zrobić

  1. Kliknij Buduj
  2. Kliknij Utwórz projekt

Wszystko poszło dobrze. Nadal nie mam pojęcia, co się stało.


0

1) sprawdź, czy nazwa pakietu jest taka sama w pliku google-services.json

2) upewnij się, że nie istnieje żaden inny projekt o tej samej nazwie pakietu

3) upewnij się, że jest dostęp do internetu

4) spróbuj zsynchronizować projekt i ponownie go uruchomić

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.