Trang này trình bày cách tích hợp các ứng dụng chưa được đóng gói. Các ứng dụng bao gồm Trình quay số, Nội dung nghe nhìn, Giao diện người dùng trên ô tô Thư viện và SMS được coi là các ứng dụng chưa được gói. Các ứng dụng này đã được tách 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 cũng như trải nghiệm người dùng trên ô tô, bao gồm cả chế độ cài đặt liên kết và đăng ký tính năng.
APK được tạo từ mã không theo gói 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ã chưa được nhóm, hãy làm như sau:
- Chạy lệ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 chạy Ứng dụng Repo.
Tạo mã
Android Studio
Cách tạo mã trong Android Studio:
- Trong Android Studio, hãy nhập tệp bản dựng này:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Hãy nhớ đặt JDK của Gradle trong Android Studio thành Phiên bản 11 trở lên:
Hình 1. Phiên bản 11. - Tạo các tệp APK mong muốn.
Dòng lệnh
Cách tạo 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
và rồi đặt thuộc tínhsdk.dir
có trong thuộc tính đó. Android Studio có thể thực hiện việc này tự động khi mở 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_ROOT
bằng đường dẫn đến SDK Android.
- Tạo
- Mở cửa sổ 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ác cấp độ API tối thiểu bắt buộc
Mỗi ứng dụng chưa theo gói hoạt động trên các nền tảng Android có phiên bản bằng hoặc cao hơn phiên bản
minSdkVersion
. Bảng sau đây liệt kê phiên bản API tối thiểu mà từng ứ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 |
Dialer | 31 |
Nội dung nghe nhìn | 30 |
SMS | 30 |
Máy chủ AOSP (Dự án nguồn mở Android) | 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ã không theo gói sẽ bị xoá khỏi nền tảng Android 13. Do đó, bạn có thể phải thêm tệp APK tạo sẵn vào bản dựng nền tảng đối với:
- Thử nghiệm tuân thủ CDD
- Cấp phép ứng dụng đặc quyền
Điều này đạt được nhờ
android_app_import
Quy tắc 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 ứng dụng chưa được nhóm đều có các phiên bản trước đó của mã nguồn
có sẵn trên các nền tảng thấp hơn Android 13. Theo mặc định, Soong cung cấp cho
mức độ ưu tiên đối với mã nguồn so với mã tạo sẵn. Do đó, cần phải đặt
prefer
gắn cờ 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 | Đã bỏ nhóm đặc quyền | Chưa được nhóm (Không cần ở trên phân vùng hệ thống) |
|
---|---|---|---|
Hệ thống đã ký | Đã ký ngoài hệ thống | ||
Lịch | X | ||
Thiết bị đồng hành | X | ||
Dialer | X | ||
Máy chủ AOSP (Dự án nguồn mở Android) | X | ||
Nội dung nghe nhìn | X | ||
SMS | X | ||
Cập nhật cơ chế phân phối | OTA | OTA hoặc Google Play | OTA hoặc Google Play |