Hướng dẫn cho quá trình tích hợp

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:

  1. Chạy lệnh sau:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. Để 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:

  1. 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
  2. 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.
  3. Tạo các tệp APK mong muốn.

Dòng lệnh

Cách tạo mã từ dòng lệnh:

  1. Đặ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ính sdk.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ụng sdk.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.
  2. Mở cửa sổ lệnh hoặc cửa sổ shell.
  3. Chuyển đến packages/apps/Car/libs/aaos-apps-gradle-project.
  4. 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