דרישות מוקדמות
- מתקינים את הגרסה העדכנית של Android SDK באמצעות Android SDK Manager.
- מתקינים את הגרסה העדכנית של ספריות AndroidX appcompat ו-mediarouter דרך Android SDK Manager.
- מתקינים את הגרסה העדכנית של Cast SDK ב-Google Play Services באמצעות Android SDK Manager.
Google Cast SDK ל-Android הוא חלק מ-Google Play Services SDK, ואין צורך להוריד אותו בנפרד.
הערה: Google Play Services נותנת לכם גישה למגוון ממשקי API ליצירת מודעות, לאיסוף ניתוחים, לאימות משתמשים, לשילוב מפות ועוד. מידע נוסף זמין במאמר סקירה כללית של Google Play Services. חשוב לוודא שמותקן במכשיר של המשתמש קובץ ה-APK הנכון של Google Play Services, כי יכול להיות שהעדכונים לא יגיעו לכל המשתמשים באופן מיידי.
הוספת Google Play Services לפרויקט
בוחרים את סביבת הפיתוח הרלוונטית ומוסיפים את Google Play Services לפרויקט לפי השלבים הבאים.
Android Studio
כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה:
- פותחים את הקובץ
build.gradleבספריית המודולים של האפליקציה.הערה: פרויקטים ב-Android Studio מכילים קובץ
build.gradleברמה העליונה וקובץbuild.gradleלכל מודול. חשוב לערוך את הקובץ של מודול האפליקציה. מידע נוסף על Gradle זמין במאמר בניית הפרויקט באמצעות Gradle. - מוודאים שהערך
google()נכלל ב-repositoriesשמופיע ברשימה.repositories {google() } - מוסיפים כלל build חדש בקובץ
dependenciesלגרסה העדכנית שלplay-services. לדוגמה: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:23.0.0' }
חשוב לעדכן את מספר הגרסה הזה בכל פעם שמעדכנים את Google Play Services.
הערה: אם מספר ההפניות לשיטות באפליקציה חורג מהמגבלה של 65,000, יכול להיות שהאפליקציה לא תעבור קומפילציה. כדי לצמצם את הבעיה הזו, אפשר לציין בזמן הידור האפליקציה רק את ממשקי ה-API הספציפיים של Google Play Services שבהם האפליקציה משתמשת, במקום את כולם. למידע נוסף, קראו את המאמר הידור סלקטיבי של ממשקי API לקובץ ההפעלה.
- שומרים את השינויים ולוחצים על Sync Project with Gradle Files (סנכרון הפרויקט עם קובצי Gradle) בסרגל הכלים.
סביבת פיתוח משולבת (IDE) אחרת
כדי שממשקי ה-API של Google Play Services יהיו זמינים לאפליקציה:
- מעתיקים את פרויקט הספרייה ב-
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/למיקום שבו אתם שומרים את הפרויקטים של האפליקציות ל-Android. - בפרויקט של האפליקציה, מפנים לפרויקט הספרייה של Google Play Services. למידע נוסף על אופן הביצוע, ראו
הפניה לפרויקט ספרייה בשורת הפקודה.
הערה: צריך להפנות לעותק של הספרייה שהעתקתם לסביבת העבודה לפיתוח, ולא ישירות לספרייה ב-Android SDK.
- אחרי שמוסיפים את ספריית Google Play Services כתלות בפרויקט של האפליקציה, פותחים את קובץ המניפסט של האפליקציה ומוסיפים את התג הבא כצאצא של הרכיב
<application>:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
אחרי שמגדירים את הפרויקט כך שיפנה לפרויקט הספרייה, אפשר להתחיל לפתח תכונות באמצעות ממשקי ה-API של Google Play Services.
יצירת חריג ב-Proguard
כדי למנוע מ-ProGuard להסיר מחלקות נדרשות, מוסיפים את השורות הבאות לקובץ :
-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