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 ...

Sean
źródło
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

wsparcie techniczne
źródło
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.

Hiren
źródło
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
37

Zdarzyło mi się podczas zmiany smaków.

Teraz możesz również używać google-services.json z różnymi smakami.

Zobacz https://stackoverflow.com/a/34364376/570168

Tobias
źródło
To jest ten, który ma sprawdzić, czy powyższe nadal nie rozwiązało problemu. fajny @Lord Flash
DJphy
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"
        ....

Alex Burov
źródło
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.

carotorrehdz
źródło
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'
epool
źródło
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

HenryChuang
źródło
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.

sree
źródło
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

Cole Murray
źródło
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

Chris
źródło
5

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

lingyfh
źródło
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.

Sami Eltamawy
źródło
3

sprawdź, czy w pliku „google-services.json” nazwa_pakietu jest dostępna, czy nie

Ahamadullah Saikat
źródło
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

Abdalrhman Alkhulaqi
źródło
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 .

Shawn Thye
źródło
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 .

Micro
źródło
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.

TareqBallan
źródło
1

Dodaj to w pliku oceny projektu

classpath 'com.google.gms:google-services:3.0.0'
Makvin
źródło
1

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

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

Muhammed Fasil
źródło
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.

Rozwijaj
źródło
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.

Reju Koshy
źródło
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).

Rares-Mihai Chelariu
źródło
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

Ali Rasouli
źródło
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.

Abel Callejo
źródł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ć

Arya Prabagar
źródło