Trang này phác thảo cách tích hợp các ứng dụng chưa được nhóm. Các ứng dụng bao gồm Trình quay số, Phương tiện, Thư viện giao diện người dùng ô tô và SMS được coi là ứng dụng chưa được nhóm. Các ứng dụng này được tách nhóm khỏi nền tảng Android và bao gồm logic để nhận dữ liệu từ ứng dụng đồng hành trên điện thoại và UX ở phía ô tô, bao gồm cả cài đặt liên kết và đăng ký tính năng.
APK được xây dựng từ mã chưa được nhóm sẽ hoạt động với một số phiên bản của nền tảng.
Kiểm tra mã
Để kiểm tra mã chưa được nhóm:
- Chạy như sau:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- Để tìm hiểu thêm về cách làm việc với mã nguồn AOSP, hãy xem Khởi tạo ứng dụng khách Repo .
Xây dựng mã
Studio Android
Để xây dựng mã trong Android Studio:
- Trong Android Studio, nhập tệp xây dựng này:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Đảm bảo đặt JDK Gradle trong Android Studio thành Phiên bản ít nhất là 11:
Hình 1. Phiên bản 11. - Xây dựng các APK mong muốn.
Dòng lệnh
Để xây dựng mã từ dòng lệnh:
- Đặt vị trí SDK Android theo một trong hai cách sau:
- Tạo
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
rồi đặt thuộc tínhsdk.dir
mà nó chứa. Android Studio có thể tự động thực hiện việc này khi mở một dự án. Ví dụ: sử dụngsdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.
hoặc - Đặt biến môi trường
ANDROID_SDK_ROOT
bằng đường dẫn đến SDK Android.
- Tạo
- Mở dấu nhắc lệnh hoặc cửa sổ shell.
- Đi tới
packages/apps/Car/libs/aaos-apps-gradle-project
. - Chạy lệnh sau:
./gradlew assemble
Cấp độ API yêu cầu tối thiểu
Mỗi ứng dụng chưa được nhóm sẽ hoạt động trên nền tảng Android có phiên bản bằng hoặc lớn hơn minSdkVersion
của ứng dụng đó. Bảng sau liệt kê phiên bản API tối thiểu được mỗi ứng dụng hỗ trợ:
Ứng dụng | Cấp độ API tối thiểu |
---|---|
Lịch | 29 |
Thư viện giao diện người dùng ô tô | 29 |
Thiết bị đồng hành | 29 |
Trình quay số | 31 |
Phương tiện truyền thông | 30 |
tin nhắn | 30 |
Máy chủ AOSP | 29 |
Tích hợp bản dựng sẵn vào hình ảnh hệ thống
Hình ảnh Android 13 trở lên
Mã chưa được nhóm sẽ bị xóa khỏi nền tảng Android 13. Do đó, việc thêm APK dựng sẵn vào bản dựng nền tảng có thể cần thiết cho:
- Kiểm tra tuân thủ CDD
- Cung cấp các ứng dụng đặc quyền
Điều này đạt được nhờ quy tắc android_app_import
Soong:
android_app_import { name: "CarMediaApp", apk: "CarMediaApp.apk", privileged: true, certificate: "platform", // Media must be signed by the platform required: ["allowed_privapp_com.android.car.media"], }
Android 12 trở xuống
Miễn là phiên bản nền tảng Android được ứng dụng hỗ trợ (xem bảng ở trên), APK có thể được thêm vào hình ảnh hệ thống đó. Tuy nhiên, hầu hết các ứng dụng chưa được nhóm đều có các phiên bản mã nguồn trước đó được đưa vào các nền tảng thấp hơn Android 13. Theo mặc định, Soong ưu tiên mã nguồn hơn mã nguồn dựng sẵn. Do đó, cần đặt cờ prefer
thành true
bên trong quy tắc android_app_import
:
android_app_import { name: "CarDialerApp", apk: "CarDialerApp.apk", privileged: true, presigned: true, // Dialer can have its own signature required: ["allowed_privapp_com.android.car.dialer"], overrides: ["Dialer"], prefer: true, // The prebuilt replaces a source target with the same name, }
Ứng dụng được liệt kê theo loại chưa được nhóm
Ứng dụng | Đặc quyền được tách nhóm | Đã tách nhóm (Không cần nằm trên phân vùng hệ thống) | |
---|---|---|---|
Hệ thống đã ký | Không có chữ ký hệ thống | ||
Lịch | X | ||
Thiết bị đồng hành | X | ||
Trình quay số | X | ||
Máy chủ AOSP | X | ||
Phương tiện truyền thông | X | ||
tin nhắn | X | ||
Cập nhật phân phối | OTA | OTA hoặc Google Play | OTA hoặc Google Play |