Điều kiện tiên quyết
- Cài đặt phiên bản mới nhất của SDK Android bằng SDK Android Người quản lý.
- Cài đặt phiên bản mới nhất của appcompat và mediarouter AndroidX Thư viện thông qua SDK Android người quản lý.
- Cài đặt SDK truyền trong các dịch vụ của Google Play mới nhất thông qua Trình quản lý SDK Android.
SDK Google Cast dành cho Android là một phần của SDK dịch vụ của Google Play và không cần tải xuống riêng biệt.
Lưu ý: Dịch vụ Google Play cung cấp cho bạn quyền truy cập vào một loạt API để tạo quảng cáo, thu thập số liệu phân tích, xác thực người dùng, tích hợp bản đồ và làm nhiều việc khác. Để biết thêm thông tin, hãy xem bài viết Tổng quan về Google Play Dịch vụ. Bạn cần đảm bảo rằng APK của các dịch vụ của Google Play được đã cài đặt trên thiết bị của người dùng vì bản cập nhật có thể không đến tay tất cả người dùng ngay lập tức.
Thêm Dịch vụ Google Play vào dự án
Chọn môi trường phát triển của bạn ở bên dưới rồi thêm Dịch vụ Google Play vào dự án bằng cách theo các bước được cung cấp.
Android Studio
Cách cung cấp API Dịch vụ Google Play cho ứng dụng:
- Mở tệp
build.gradle
bên trong thư mục mô-đun ứng dụng của bạn.Lưu ý: Các dự án Android Studio chứa cấp cao nhất
build.gradle
và một tệpbuild.gradle
cho mỗi mô-đun. Hãy nhớ chỉnh sửa tệp cho mô-đun ứng dụng của bạn. Xem Xây dựng dự án bằng Gradle để biết thêm thông tin về Gradle. - Xác minh rằng
google()
có trongrepositories
được liệt kê.repositories {
- Thêm quy tắc bản dựng mới trong
dependencies
cho phiên bản mới nhất củaplay-services
. Ví dụ: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.5.0' }
Hãy nhớ cập nhật số phiên bản này mỗi lần Dịch vụ Google Play được cập nhật.
Lưu ý: Nếu số lượng tham chiếu phương thức trong ứng dụng của bạn vượt quá Giới hạn 65 nghìn thì ứng dụng của bạn có thể sẽ không biên dịch. Bạn có thể giảm thiểu vấn đề này khi biên dịch ứng dụng bằng cách chỉ chỉ định các API cụ thể của Dịch vụ Google Play mà ứng dụng của bạn sử dụng, thay vì tất cả các API đó. Để biết thông tin về cách làm việc này, hãy xem Biên dịch API một cách có chọn lọc thành tệp thực thi.
- Lưu các thay đổi rồi nhấp vào Sync Project with Gradle Files (Đồng bộ hoá dự án với tệp Gradle) trên thanh công cụ.
IDE khác
Cách cung cấp API của Dịch vụ Google Play cho ứng dụng:
- Sao chép dự án thư viện tại
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
vào vị trí bạn duy trì dự án ứng dụng Android của mình. - Trong dự án ứng dụng của bạn, hãy tham chiếu dự án thư viện Dịch vụ Google Play. Xem
Hãy tham khảo Dự án thư viện trên Command Line để biết thêm thông tin về cách thực hiện việc này.
Lưu ý: Bạn phải tham chiếu bản sao của thư viện mà bạn bạn có thể sao chép thư viện của mình vào không gian làm việc phát triển. Bạn không nên tham khảo thư viện trực tiếp từ Thư mục SDK Android.
- Sau khi thêm thư viện Dịch vụ Google Play làm phần phụ thuộc cho dự án ứng dụng,
mở tệp kê khai của ứng dụng và thêm thẻ sau làm thẻ con của
Phần tử
<application>
:<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Sau khi đã thiết lập dự án để tham chiếu dự án thư viện, bạn có thể bắt đầu phát triển các tính năng mới của API của Dịch vụ Google Play.
Tạo ngoại lệ Proguard
Để ngăn chặn
ProGuard không bị loại bỏ
lớp bắt buộc, hãy thêm các dòng sau trong dòng
Tệp
:
-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