Odkąd zaktualizowałem projekt do najnowszej wersji usług i bibliotek Google (9.0.0), mam ten dziwny problem:
Konsola klasy:
:app:processDebugGoogleServices
Parsing json file: /Users/cyrilmorales/Documents/Projects/mobilemeans-punainenristi/app/google-services.json
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
Information:BUILD FAILED
build.gradle (root):
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
classpath 'com.google.gms:google-services:3.0.0'
}
build.gradle (aplikacja):
dependencies {
....
compile 'com.google.android.gms:play-services-analytics:9.0.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile 'com.google.android.gms:play-services-maps:9.0.0'
compile 'com.google.android.gms:play-services-location:9.0.0'
...
}
apply plugin: 'com.google.gms.google-services'
Jednak działa dobrze z bibliotekami usług Play w wersji 8.4.0 i usługami Google 2.1.0
Masz pomysł na rozwiązanie?
Odpowiedzi:
Wygeneruj nowy plik konfiguracyjny (google-services.json) z: https://developers.google.com/cloud-messaging/android/client#get-config
Nowy plik konfiguracyjny
"api_key": [ { "current_key": XXX } ]
w sekcji klientaAktualizacja: lub ręcznie włączona usługa w konsoli programisty i wygeneruj klucz.
źródło
Dodanie pustej bieżącej wartości klucza w pliku google-services.json rozwiązało ten problem
"api_key": [{ "current_key": "" }]
źródło
Tak, ponieważ po raz pierwszy korzystam z Firebase, widzę to samo. Kliknij menu aplikacji i kliknij „Zarządzaj”.
możesz ponownie pobrać google-services.json.
źródło
Dla wszystkich, którzy mają ten problem, na razie musisz dodać dowolną usługę do swojej aplikacji na https://developers.google.com/cloud-messaging/android/client#get-config
W moim przypadku dodałem admob (mam już analytics i gcm), a następnie plik został wygenerowany za pomocą api_key.
Myślę, że to błąd i wkrótce zostanie naprawiony, do tego czasu zrób to.
źródło
s 'api_key' value. Clearly there
jest błąd, więc musimy wypróbować różne podejścia, aby rozwiązać problem.Chociaż Jozka Jozin zaakceptowała odpowiedź i jej komentarze, Cloud Messaging nie jest ani powiązany, ani wymagany.
Niemniej jednak ponowne generowanie
google-services.json
jest kluczem do rozwiązania (więc głosowałem na niego). Poniżej przedstawiam to, co zrobiłem:Jak wiesz, możesz wygenerować plik konfiguracyjny dla Analytics z przewodnika Google Developers Guide .
1: Wybierz swoją aplikację.
2: Zamknij wyskakujące okienko! Ukrywa ...
3: OPCJA ADMOB!
4, oczywiście, wybierz i włącz to!
5: Teraz możemy poprawnie wygenerować pliki konfiguracyjne!
6: Udało się! Tym razem plik konfiguracyjny powinien odpowiednio zawierać api_key .
Wniosek: interfejs użytkownika interaktywnego narzędzia do generowania jest nieco zagmatwany ...
źródło
Możesz
google-services.json
ponownie pobrać plik.Kroki do pobrania:
1). Kliknij górne menu aplikacji w
Firebase
konsoli.2). Kliknij Zarządzaj.
3). Znajdziesz
Download the latest config
opcję pliku, pobierz i zamieńgoogle-services.json
plik w swojej aplikacji.źródło
Najpierw w pliku JSON
Zastąpić
z
Wtedy kompilacja gradle powiedzie się, ale po uruchomieniu aplikacji mogą pojawić się błędy, takie jak następujące.
Aby rozwiązać ten problem, możesz dodać następujące elementy do pliku app.gradle. U mnie zadziałało.
Edycja: pokazał mi błąd później podczas budowania pliku APK. Musiałem więc ponownie pobrać plik json. Po 2 próbach otrzymałem plik json z prawidłowym kluczem API.
źródło
Jeśli nie używasz Firebase, prawidłowy link do wygenerowania pliku konfiguracyjnego google-services.json znajduje się tutaj .
źródło
zregeneruj google-services.json na https://developers.google.com/cloud-messaging/android/client#get-config , ważne jest, aby włączyć komunikację w chmurze w kroku „Wybierz usługi” , otwórz nowe Google -services.json zobaczysz słowa takie jak
bez tych słów lub bez wartości current_key nie jest właściwym plikiem
źródło
Udało mi się rozwiązać ten problem za pomocą tych kroków, na które nie ma tutaj odpowiedzi. Ta odpowiedź NIE włącza przesyłania wiadomości w chmurze, a jedynie pobiera klucz serwera.
Dlatego najpierw przejdź do konsoli Firebase, a następnie przejdź do ustawień projektu, a następnie kliknij kartę „Komunikacja w chmurze”. Spójrz, gdzie jest napisane „klucz serwera”, a jeśli nie ma wyświetlanego długiego klucza (poza numerem „ID nadawcy”), kliknij „Regeneruj klucz”. Powinien teraz pojawić się długi klucz. Skopiuj ten klucz i umieścić ją w pliku google-services.json pod adresem:
"api_key": [ {"current_key" : "key goes here"} ]
.Ta metoda pomogła mi, gdy żadna z pozostałych nie działała, więc mam nadzieję, że to komuś pomoże.
źródło
Kliknij Przegląd -> Ikona koła zębatego -> Ustawienia projektu.
Przejdź do Pobierz najnowszą konfigurację i kliknij przycisk google-service.json, aby pobrać plik, zapisać go w folderze aplikacji i ponownie skompilować. Cieszyć się!
źródło
Musisz dodać odciski cyfrowe certyfikatów SHA do swojego projektu, a następnie ponownie pobrać plik google-services.jason, który powinien automatycznie zawierać ciąg „api_key”: [{"current_key": "xxxxxx"}].
Możesz wyświetlić następującą stronę, aby zobaczyć, jak wygenerować odciski palców:
https://developers.google.com/android/guides/client-auth
W systemie Windows po prostu wykonaj następujące polecenie i użyj androida jako hasła do celów debugowania:
źródło
Korzystanie z Firebase
Ten błąd wystąpił po zaktualizowaniu istniejącego projektu do nowych usług Firebase. Wygenerowany plik google-service.json pobrany ze strony ustawień projektu Firebase nie zawierał
api_key
potrzebnych.Dodałem więc zależności od Firebase FCM przed ponownym pobraniem pliku i tym razem klucz został dołączony.
Uwzględnij FCM (GCM)
źródło
Jeśli nie chcesz rekonfigurować i pobierać
google-services.json
pliku, możesz pobrać klucz API bezpośrednio z konsoli Firebase. Po prostu idź doDostaniesz konfigurację bazy danych, która będzie zawierać
apiKey
. Po prostu skopiuj tę wartość i umieść ją wcurrent_key
wartości oznaczonej poniżej XXXźródło
W przypadku migracji do Firebase:
upewnij się, że w ustawieniach projektu dodano co najmniej jeden odcisk palca i ponownie pobierz plik google-services.json
źródło
Jeśli używasz firebaes, musisz skopiować serverKey z firebase do google-services.json
Aby uzyskać klucz serwera, przejdź do ProjectOverview> Project Settings> CloudMessaging> Copy LUB wygeneruj i skopiuj serverKey.
źródło
dodaj to do swojego pliku google-service.json. znajdziesz go pod app / google-service.json
"api_key": [{"current_key": "twój-klucz-google-api"}]
źródło