Các ứng dụng bao gồm Dialer, Nội dung nghe nhìn, Thư viện giao diện người dùng ô tô và SMS được coi là ứng dụng không đi kèm (tức là không đi kèm với nền tảng Android). Các ứng dụng như vậy bao gồm logic để nhận dữ liệu từ ứng dụng đồng hành trên điện thoại và trải nghiệm người dùng trên ô tô, bao gồm cả chế độ cài đặt cho việc liên kết và đăng ký tính năng. Các tệp APK được tạo từ mã không đi kèm hoạt động với một số phiên bản của nền tảng.
Hãy xem đoạn mã vừa tải
Để xem mã không đi kèm, hãy chạy lệnh sau:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-masterrepo 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 phần Khởi chạy ứng dụng Repo client.
Tạo mã
Bạn có thể tạo mã bằng Android Studio hoặc qua dòng lệnh.
Android Studio
Cách tạo mã trong Android Studio:
Trong Android Studio, hãy nhập tệp bản dựng sau:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradleĐảm bảo JDK Gradle được đặt thành Phiên bản 11 trở lên:
Hình 1. Đặt JDK Gradle thành Phiên bản 11 trong Android Studio.
Dòng lệnh
Cách tạo mã qua dòng lệnh:
Đặt vị trí SDK Android bằng một trong các phương thức sau:
Tạo
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties, sau đó đặt thuộc tínhsdk.dirmà tệp này chứa. Android Studio có thể tự động thực hiện việc này khi mở một dự án. Ví dụ: hãy sử dụngsdk.dir=/Users/MY-USERNAME/Library/Android/sdk.hoặc
Đặt biến môi trường
ANDROID_SDK_ROOTbằng đường dẫn đến SDK Android.
Mở giao diện nhập dòng lệnh hoặc cửa sổ shell.
Chuyển đến
packages/apps/Car/libs/aaos-apps-gradle-project.Chạy lệnh sau:
./gradlew assemble
Cấp độ API tối thiểu bắt buộc
Mỗi ứng dụng không đi kèm hoạt động trên các nền tảng Android có phiên bản bằng hoặc lớn hơn
phiên bản
minSdkVersion. Bảng sau đây liệt kê phiên bản API tối thiểu mà 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 |
| CompanionDevice | 29 |
| Dialer | 31 |
| Nội dung nghe nhìn | 30 |
| Messenger (SMS) | 30 |
| Máy chủ AOSP | 29 |
| Khoá ứng dụng | 34 |
Tích hợp một ứng dụng tạo sẵn vào hình ảnh hệ thống
Nếu phiên bản nền tảng Android được ứng dụng hỗ trợ (xem bảng trong phần trước), bạn có thể thêm tệp APK vào hình ảnh hệ thống. Tuy nhiên, các bước tích hợp sẽ khác nhau giữa các phiên bản nền tảng Android.
Android 13 trở lên
Android 13 trở lên không bao gồm mã nguồn cho các ứng dụng không đi kèm, nhưng bạn có thể đưa tệp APK tạo sẵn vào bản dựng nền tảng cho các trường hợp sử dụng như kiểm thử tuân thủ CDD hoặc cung cấp ứng dụng đặc quyền. Để chỉ định tệp APK, hãy sử dụng quy tắc Soong
android_app_import, như trong ví dụ sau:
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
Android 12 trở xuống bao gồm mã nguồn cho các ứng dụng không đi kèm, nhưng bạn vẫn có thể chỉ định một tệp APK tạo sẵn để đưa vào. Vì giá trị mặc định của Soong là ưu tiên mã nguồn hơn ứng dụng tạo sẵn, nên bạn cần đặt cờ prefer thành true bên trong quy tắc android_app_import, như trong ví dụ sau:
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
}
Thông tin chi tiết về ứng dụng không đi kèm
| Ứng dụng | Ứng dụng không đi kèm có đặc quyền hệ thống đã ký |
Ứng dụng không đi kèm có đặc quyền không phải đã ký hệ thống đã ký |
Ứng dụng không đi kèm không cần nằm trong phân vùng hệ thống |
|---|---|---|---|
| Phân phối bản cập nhật | OTA | OTA hoặc Google Play | OTA hoặc Google Play |
| Máy chủ AOSP | X | ||
| Lịch | X | ||
| CompanionDeviceSupport | X | ||
| Trung tâm điều khiển (Nhiều màn hình) | X | ||
| Dialer | X | ||
| Nội dung nghe nhìn | X | ||
| Messenger (SMS) | X | ||
| Khoá ứng dụng nhạy cảm | X |