Wymagania wstępne
- Zainstaluj najnowszą wersję pakietu Android SDK, korzystając z Menedżera Android SDK.
- Zainstaluj najnowszą wersję narzędzia AndroidX i appcompat oraz mediarouter za pomocą Menedżera pakietów Android SDK.
- Zainstaluj najnowszy pakiet SDK SDK w Usługach Google Play za pomocą Menedżera Android SDK.
Pakiet Google Cast SDK na Androida jest częścią pakietu SDK Usług Google Play i nie trzeba go pobierać oddzielnie.
Uwaga: Usługi Google Play zapewniają dostęp do zakresu interfejsów API m.in. do tworzenia reklam, zbierania statystyk, uwierzytelniania użytkowników i integrowania map. Więcej informacji znajdziesz w artykule Omówienie Usług Google Play. Ważne jest, aby zainstalować na urządzeniu użytkownika odpowiedni plik APK Usług Google Play, ponieważ aktualizacje mogą nie docierać do wszystkich użytkowników od razu.
Dodawanie Usług Google Play do projektu
Wybierz poniżej środowisko programistyczne i dodaj Usługi Google Play do swojego projektu, wykonując podane czynności.
Android Studio
Aby udostępnić interfejsy API Usług Google Play dla swojej aplikacji:
- Otwórz plik
build.gradle
w katalogu modułów aplikacji.Uwaga: projekty Android Studio zawierają plik
build.gradle
najwyższego poziomu i plikbuild.gradle
każdego modułu. Pamiętaj, aby zmodyfikować plik modułu aplikacji. Więcej informacji o Gradle znajdziesz w artykule Building your Project with Gradle (Tworzenie projektu z użyciem Gradle). - Sprawdź, czy
google()
znajduje się na liścierepositories
.repositories {
- Dodaj nową regułę kompilacji poniżej
dependencies
w najnowszej wersjiplay-services
. Na przykład:apply plugin: 'com.android.application' ... dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.mediarouter:mediarouter:1.2.5' implementation 'com.google.android.gms:play-services-cast-framework:21.2.0' }
Pamiętaj, aby aktualizować ten numer wersji po każdej aktualizacji Usług Google Play.
Uwaga: jeśli liczba odwołań do metod w Twojej aplikacji przekracza limit 65 tys., może się to nie udać. Możesz rozwiązać ten problem, kompilując aplikację, podając tylko określone interfejsy API Usług Google Play, a nie wszystkie. Informacje o tym, jak to zrobić, znajdziesz w artykule o selektywnym kompilowaniu interfejsów API do pliku wykonywalnego.
- Zapisz zmiany i kliknij Synchronizuj projekt z plikami Gradle na pasku narzędzi.
Inne IDE
Aby udostępnić interfejsy API Usług Google Play dla swojej aplikacji:
- Skopiuj projekt biblioteczny
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
w lokalizacji, w której przechowujesz projekty aplikacji na Androida. - W projekcie aplikacji wskaż projekt z biblioteki usług Google Play. Aby dowiedzieć się, jak to zrobić, przeczytaj artykuł Odwoływanie się do projektu bibliotecznego Library Project w wierszu poleceń.
Uwaga: odwołuj się do kopii biblioteki skopiowanej do obszaru roboczego programowania. Nie korzystaj z biblioteki bezpośrednio z poziomu katalogu Android SDK.
- Po dodaniu biblioteki Usług Google Play jako zależności projektu aplikacji otwórz plik manifestu aplikacji i dodaj ten tag jako element potomny elementu
<application>
:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Po skonfigurowaniu projektu tak, aby mógł się odwoływać do projektu w bibliotece, możesz rozpocząć rozwijanie funkcji za pomocą interfejsów API usług Google Play.
Tworzenie wyjątku w ProGuard
Aby zapobiec usunięciu wymaganych klas przez ProGuard, dodaj do pliku
te wiersze:
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { public static final *** NULL; } -keepnames class * implements android.os.Parcelable -keepclassmembers class * implements android.os.Parcelable { public static final *** CREATOR; } -keep @interface android.support.annotation.Keep -keep @android.support.annotation.Keep class * -keepclasseswithmembers class * { @android.support.annotation.Keep <fields>; } -keepclasseswithmembers class * { @android.support.annotation.Keep <methods>; } -keep @interface com.google.android.gms.common.annotation.KeepName -keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * { @com.google.android.gms.common.annotation.KeepName *; } -keep @interface com.google.android.gms.common.util.DynamiteApi -keep public @com.google.android.gms.common.util.DynamiteApi class * { public <fields>; public <methods>; } -dontwarn android.security.NetworkSecurityPolicy