Próbuję przetestować usługi Google Play w nowym Android Studio. Mam projekt z zależnością do google_play_services.jar. Ale kiedy próbuję odbudować projekt, otrzymuję następujące błędy:
Information:[TstGP3-TstGP3] Crunching PNG Files in source dir: C:\Users\ans\AndroidStudioProjects\TstGP3\TstGP3\src\main\res
Information:[TstGP3-TstGP3] To destination dir: C:\Users\ans\AndroidStudioProjects\TstGP3\build\classes\res-cache\TstGP3-TstGP3
Information:Compilation completed with 2 errors and 0 warnings in 2 sec
Information:2 errors
Information:0 warnings
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\Android_BuildConfig_Generator\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\BuildConfig.java
Error:Error:line (4)error: duplicate class: com.example.tstgp3.BuildConfig
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\aapt\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\R.java
Error:Error:line (10)error: duplicate class: com.example.tstgp3.R
Wygląda na to, że ma dwa pliki BuildConfig, a także dwie klasy R. Jak mogę rozwiązać ten problem?
EDYTOWAĆ:
Zauważyłem, że kompilator kompiluje dwa pliki R.java: ten, który znajduje się w folderze mojego projektu i drugi, który znajduje się w folderze% USERPROFILE% .AndroidStudioPreview Próbowałem więc wykluczyć ten folder „Preview” w ustawieniach kompilatora a teraz działa. Ten problem występuje dopiero po rozpoczęciu korzystania z klas Usług Google Play w moim projekcie. Będę wdzięczny, jeśli ktoś może wyjaśnić przyczynę tego problemu.
android
google-play-services
android-studio
androidtester
źródło
źródło
Odpowiedzi:
Wszystkie te odpowiedzi są błędne, ponieważ po wydaniu wtyczki Gradle v0.4.2 konfiguracja usług Google Play w Android Studio jest prosta. Nie musisz importować żadnego słoika, dodawać biblioteki projektów ani dodawać żadnego nowego modułu w Android Studio. Musisz tylko dodać odpowiednie zależności do pliku build.gradle. Proszę spojrzeć na te linki: aktualizacja wtyczki Gradle v0.4.2 , nowy system kompilacji i ten przykład
Prawidłowy sposób zrobić to w następujący sposób:
Przede wszystkim musisz uruchomić menadżera sdk oraz pobrać i zainstalować następujące pliki znajdujące się w "dodatkach": repozytorium wsparcia Androida , usługi Google Play , repozytorium Google .
Uruchom ponownie Android Studio i otwórz plik Build Gradle. Musisz zmodyfikować plik build.gradle, aby wyglądał tak w zależnościach:
I na koniec zsynchronizuj swój projekt (przycisk po lewej stronie menedżera AVD).
Od wersji 6.5 możesz dołączyć pełną bibliotekę (bardzo dużą) lub tylko potrzebne moduły (najlepsza opcja). To znaczy, jeśli potrzebujesz tylko Google Maps i Analytics, możesz zastąpić poprzedni przykład następującym:
Pełną listę zależności można znaleźć tutaj
Kilka uwag dodatkowych:
Po dużej aktualizacji Android Studio wyczyść i odbuduj swój projekt, postępując zgodnie z kolejnymi instrukcjami sugerowanymi w komentarzach @ user123321
cd do folderu projektu
./gradlew clean
./gradlew build
źródło
Voila! Nie musisz walczyć z Gradle :)
źródło
EDYTOWANE: Ten facet naprawdę przyniósł go do domu i ma dobry mały samouczek http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html
jedna uwaga: bawiłem się tak dużo, że musiałem zrobić,
gradlew clean
aby to działało pomyślnieJeśli zaimportowałeś swój projekt lub pracujesz w aplikacji Przykładowe mapy, znajdującej się w \ extras \ google \ google_play_services \ samples \ maps, zapoznaj się z tym samouczkiem.
https://stackoverflow.com/a/16598478/2414698
Jeśli tworzysz nowy projekt od zera, zanotuj komentarze Xav w tym samym poście. Opisuje, że Android Studio używa innego kompilatora i że musisz ręcznie zmodyfikować plik build.gradle. Zrobiłem to z sukcesem. skopiowałem
do mojego katalogu lib i dodałem następujący plik do mojego pliku build.gradle
Jeśli jest to nowy projekt, sprawdź również ten post.
https://stackoverflow.com/a/16671865/2414698
źródło
Większość z tych odpowiedzi dotyczy tylko zależności czasu kompilacji, ale w czasie wykonywania znajdziesz wiele wyjątków NoClassDef. To dlatego, że potrzebujesz czegoś więcej niż google-play-services.jar. Odwołuje się do zasobów, które są częścią projektu biblioteki, a te nie są poprawnie dołączane, jeśli masz tylko jar.
To, co działało najlepiej, to najpierw poprawnie ustawić projekt w zaćmieniu. Zorganizuj swój projekt tak, aby obejmował zarówno Twoją aplikację, jak i bibliotekę, jak opisano tutaj: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup
Następnie wyeksportuj projekt aplikacji z eclipse i zaimportuj do Android Studio zgodnie z opisem tutaj: http://developer.android.com/sdk/installing/migrate.html . Pamiętaj, aby wyeksportować zarówno projekt aplikacji, jak i projekt biblioteki usług Google Play. Podczas importu wykryje projekt biblioteki i zaimportuje go jako moduł. Właśnie zaakceptowałem wszystkie ustawienia domyślne podczas procesu importu projektu.
źródło
Integracja usług Google Play w studiu Android.
Krok 1:
Krok 2:
Krok 3:
Krok 4:
Krok 5:
Jeśli potrzebujesz pomocy, umieść komentarz. Miłego kodowania.
źródło
Żadne z powyższych rozwiązań nie działało dla mnie. Nie jestem pewien, czy dotyczy to mojej konfiguracji, czy nowej wersji.
Używam Android Studio Beta 0.8.9 i nie otrzymałem żadnego com.google.android.gms: play-service na liście bibliotek po wykonaniu tej instrukcji:
Już to zrobiłem:
Rozwiązaniem było dodanie z Menedżera SDK „usług Google Play dla Froyo”, a następnie powtórzenie pierwszego kroku.
Nie zrozumiałem poprawnie przyczyny, ale to zadziałało.
PS: Właśnie zauważyłem, że nawet teraz, gdy szukam usług zabaw, to nie przychodzi, ale kiedy bezpośrednio przewijam i przeglądam listę, jest ona właśnie tam.
źródło
Postępuj zgodnie z tym artykułem -> http://developer.android.com/google/play-services/setup.html
Powinieneś wybrać opcję Korzystanie z Android Studio
Przykładowy plik Gradle:
Najnowszą wersję Usług Google Play można znaleźć tutaj: https://developer.android.com/google/play-services/index.html
źródło
Mam to działające po wykonaniu następujących czynności:
Uwaga: to również nie daje mi wyjątków czasu wykonywania, to działa.
źródło
Otwórz plik build.gradle projektu i dodaj poniższy wiersz w module zależności.
Poniżej zostaną dodane Google Analytics i Mapy, jeśli nie chcesz integrować pełnej biblioteki
źródło
W moim przypadku google-play-services_lib są zintegrowane jako moduł (zewnętrzne libs) dla mapy Google i GCM w moim projekcie.
Teraz ten czas wymaga implementacji Google Places Autocomplete API, ale problem polega na tym, że kod jest nowy, a moje biblioteki są stare, więc nie znaleziono niektórych klas:
wykonując następujące kroki ...
1> Zaktualizuj usługę Google Play do Menedżera SDK
2> wybierz nowy plik .jar usługi Google Play ( Sdk / extras / google / google_play_services / libproject / google-play-services_lib / libs ) zastąp starym
odniosłem sukces ... !!!
źródło
Skopiowałem pliki Play libs z google-play-services_lib do mojego katalogu libs projektu:
Następnie zaznacz je, kliknij prawym przyciskiem myszy „Dodaj jako biblioteki”.
źródło