Tổng quan về cấu hình

AOSP cung cấp các tùy chọn sau để lưu trữ thông tin cấu hình trên thiết bị:

  • Thuộc tính hệ thống
  • Thuộc tính lớp trừu tượng phần cứng (HAL)
  • Tệp XML cấu hình hệ thống
  • Lớp phủ tài nguyên (tĩnh và thời gian chạy)

Thuộc tính hệ thống

Thuộc tính hệ thống là các cặp khóa/giá trị chuỗi được lưu trữ trong từ điển chung build.prop . Thuộc tính hệ thống là các tài nguyên trên toàn hệ thống, dễ sử dụng và có chi phí hoạt động thấp. Khi sử dụng thuộc tính hệ thống, bạn không cần sử dụng giao tiếp liên tiến trình (IPC) ngay cả khi thuộc tính hệ thống được chia sẻ trên nhiều quy trình. Tuy nhiên, các thuộc tính hệ thống tương tự như các biến toàn cục và có thể gây hại khi sử dụng sai mục đích. Việc lạm dụng các thuộc tính hệ thống có thể dẫn đến các vấn đề như lỗ hổng bảo mật và khiến người dùng không thể truy cập ứng dụng. Trước khi sử dụng thuộc tính hệ thống để lưu trữ thông tin cấu hình, hãy xem xét các tùy chọn cấu hình khác.

Để biết thêm thông tin về thuộc tính hệ thống, hãy xem Thêm thuộc tính hệ thống

Thuộc tính HAL

Khi nguồn xác thực của cấu hình là từ một thành phần phần cứng trên thiết bị thì HAL cho phần cứng phải cung cấp thông tin cho thành phần đó. Xác định phương thức HAL mới trong HAL hiện có để truy cập cấu hình. Để biết thêm thông tin về việc phát triển HAL, hãy xem AIDL cho HAL .

Tệp XML cấu hình hệ thống

Khi dữ liệu cấu hình tĩnh nhưng phức tạp (có cấu trúc), hãy cân nhắc sử dụng XML hoặc các định dạng tương tự khác cho dữ liệu cấu hình. Đảm bảo rằng lược đồ tệp vẫn ổn định. Đối với các tệp XML, bạn có thể sử dụng xsd_config để giữ cho lược đồ ổn định và tận dụng trình phân tích cú pháp XML được tạo tự động.

Lớp phủ tài nguyên

Bạn có thể sử dụng lớp phủ tài nguyên để tùy chỉnh sản phẩm. Có hai loại lớp phủ tài nguyên:

  • Lớp phủ tài nguyên tiêu chuẩn được sử dụng để tùy chỉnh sản phẩm tại thời điểm xây dựng. Để biết thông tin về lớp phủ tài nguyên tiêu chuẩn, hãy xem Tùy chỉnh bản dựng với lớp phủ tài nguyên .

  • Lớp phủ tài nguyên thời gian chạy (RRO) được sử dụng để thay đổi giá trị tài nguyên của gói mục tiêu khi chạy. Ví dụ: một ứng dụng được cài đặt trên hình ảnh hệ thống có thể thay đổi hành vi của nó dựa trên giá trị của tài nguyên. Thay vì mã hóa cứng giá trị tài nguyên tại thời điểm xây dựng, RRO được cài đặt trên một phân vùng khác có thể thay đổi giá trị tài nguyên của ứng dụng khi chạy. Để biết thêm thông tin về RRO, hãy xem Thay đổi giá trị tài nguyên của ứng dụng khi chạy .

,

AOSP cung cấp các tùy chọn sau để lưu trữ thông tin cấu hình trên thiết bị:

  • Thuộc tính hệ thống
  • Thuộc tính lớp trừu tượng phần cứng (HAL)
  • Tệp XML cấu hình hệ thống
  • Lớp phủ tài nguyên (tĩnh và thời gian chạy)

Thuộc tính hệ thống

Thuộc tính hệ thống là các cặp khóa/giá trị chuỗi được lưu trữ trong từ điển chung build.prop . Thuộc tính hệ thống là các tài nguyên trên toàn hệ thống, dễ sử dụng và có chi phí hoạt động thấp. Khi sử dụng thuộc tính hệ thống, bạn không cần sử dụng giao tiếp liên tiến trình (IPC) ngay cả khi thuộc tính hệ thống được chia sẻ trên nhiều quy trình. Tuy nhiên, các thuộc tính hệ thống tương tự như các biến toàn cục và có thể gây hại khi sử dụng sai mục đích. Việc lạm dụng các thuộc tính hệ thống có thể dẫn đến các vấn đề như lỗ hổng bảo mật và khiến người dùng không thể truy cập ứng dụng. Trước khi sử dụng thuộc tính hệ thống để lưu trữ thông tin cấu hình, hãy xem xét các tùy chọn cấu hình khác.

Để biết thêm thông tin về thuộc tính hệ thống, hãy xem Thêm thuộc tính hệ thống

Thuộc tính HAL

Khi nguồn xác thực của cấu hình là từ một thành phần phần cứng trên thiết bị thì HAL cho phần cứng phải cung cấp thông tin cho thành phần đó. Xác định phương thức HAL mới trong HAL hiện có để truy cập cấu hình. Để biết thêm thông tin về việc phát triển HAL, hãy xem AIDL cho HAL .

Tệp XML cấu hình hệ thống

Khi dữ liệu cấu hình tĩnh nhưng phức tạp (có cấu trúc), hãy cân nhắc sử dụng XML hoặc các định dạng tương tự khác cho dữ liệu cấu hình. Đảm bảo rằng lược đồ tệp vẫn ổn định. Đối với các tệp XML, bạn có thể sử dụng xsd_config để giữ cho lược đồ ổn định và tận dụng trình phân tích cú pháp XML được tạo tự động.

Lớp phủ tài nguyên

Bạn có thể sử dụng lớp phủ tài nguyên để tùy chỉnh sản phẩm. Có hai loại lớp phủ tài nguyên:

  • Lớp phủ tài nguyên tiêu chuẩn được sử dụng để tùy chỉnh sản phẩm tại thời điểm xây dựng. Để biết thông tin về lớp phủ tài nguyên tiêu chuẩn, hãy xem Tùy chỉnh bản dựng với lớp phủ tài nguyên .

  • Lớp phủ tài nguyên thời gian chạy (RRO) được sử dụng để thay đổi giá trị tài nguyên của gói mục tiêu khi chạy. Ví dụ: một ứng dụng được cài đặt trên hình ảnh hệ thống có thể thay đổi hành vi của nó dựa trên giá trị của tài nguyên. Thay vì mã hóa cứng giá trị tài nguyên tại thời điểm xây dựng, RRO được cài đặt trên một phân vùng khác có thể thay đổi giá trị tài nguyên của ứng dụng khi chạy. Để biết thêm thông tin về RRO, hãy xem Thay đổi giá trị tài nguyên của ứng dụng khi chạy .