Bạn có thể cập nhật các gói dịch vụ dưới dạng gói APEX, độc lập với các bản cập nhật hệ thống đầy đủ. Trong SDV, quy trình cập nhật này do trình quản lý cập nhật SDV quản lý. Để bản cập nhật có hiệu lực, bạn phải khởi động lại thiết bị.
Có 2 loại APEX được hỗ trợ cho các bản cập nhật gói dịch vụ:
APEX được cài đặt sẵn: Một phiên bản trước của gói APEX đã có trên một trong các phân vùng chỉ đọc (
/system,/system_ext,/product,/vendorvà/odm).APEX mới: Không có gói APEX nào có cùng tên (như đã khai báo trong
apex_manifest.json) trên bất kỳ phân vùng chỉ đọc nào.
APEX được cài đặt sẵn
Đây là phương thức phổ biến nhất và được đề xuất để cập nhật gói dịch vụ. Để bản cập nhật này có hiệu lực, gói APEX mới phải đáp ứng các yêu cầu sau:
Có cùng tên gói trong
apex_manifest.jsonnhư APEX được cài đặt sẵn.Khai báo mã phiên bản cao hơn trong
apex_manifest.jsonso với APEX được cài đặt sẵn.Ký APEX bằng cùng một cặp khoá như APEX cài đặt sẵn.
APEX mới
Mặc dù việc sử dụng APEX được cài đặt sẵn là phương pháp hay nhất về bảo mật, nhưng các APEX mới vẫn được hỗ trợ. Khi sử dụng phương pháp này, các đối tác chịu trách nhiệm duy trì các giao thức bảo mật toàn diện. Các trách nhiệm này bao gồm:
Quản lý một cách an toàn các khoá ký dùng cho những APEX này.
Thiết lập một quy trình hiệu quả để xác định và chặn các gói độc hại.
Chuyển đổi các APEX mới thành APEX được cài đặt sẵn trong các bản cập nhật hệ thống tiếp theo bất cứ khi nào có thể.
Để cài đặt hoặc cập nhật APEX mới, bạn cần có các cấu hình sau.
Cài đặt trước các khoá công khai đáng tin cậy
Để cài đặt một APEX mới, khoá ký công khai của APEX đó phải được cài đặt sẵn trên phân vùng đích. Đặt khoá công khai vào /partition/etc/brand_new_apex/, trong đó /partition/ biểu thị phân vùng mà APEX được liên kết theo các quy tắc Treble. Ví dụ: nếu chữ ký của APEX được xác minh dựa trên một khoá công khai trong /vendor/etc/brand_new_apex/, thì chữ ký đó sẽ hoạt động như một APEX của nhà cung cấp.
Hệ thống sẽ từ chối mọi APEX mới không được ký bằng khoá tương ứng với khoá công khai được cài đặt sẵn.
Chặn một APEX mới độc hại
Nếu một APEX mới bị xác định là độc hại sau khi cài đặt, thì bạn phải chặn APEX đó bằng cách sử dụng bản cập nhật hệ thống. Để làm việc này, hãy thêm tên gói APEX vào một tệp danh sách chặn trong /partition/etc/brand_new_apex/blocklist.json. Danh sách chặn này phải được đặt trên phân vùng đích của APEX (cùng phân vùng nơi khoá công khai của APEX được cài đặt sẵn). Mỗi phân vùng có tệp danh sách chặn riêng.