AOSP menawarkan opsi berikut untuk menyimpan informasi konfigurasi di perangkat:
- Properti sistem
- Properti hardware abstraction layer (HAL)
- File XML konfigurasi sistem
- Overlay resource (statis dan runtime)
Properti sistem
Properti sistem adalah pasangan nilai kunci string yang disimpan dalam kamus global
build.prop
. Properti sistem adalah resource seluruh sistem yang mudah
digunakan dan memiliki overhead performa yang rendah. Saat menggunakan properti sistem, Anda tidak
perlu menggunakan komunikasi interproses (IPC) meskipun properti sistem dibagikan
di beberapa proses. Namun, properti sistem mirip dengan variabel global dan dapat berbahaya jika disalahgunakan. Penyalahgunaan properti sistem dapat
menyebabkan masalah seperti kerentanan keamanan dan aplikasi menjadi tidak dapat diakses
oleh pengguna. Sebelum menggunakan properti sistem untuk menyimpan informasi konfigurasi,
pertimbangkan opsi konfigurasi lainnya.
Untuk informasi selengkapnya tentang properti sistem, lihat Menambahkan properti sistem
Properti HAL
Jika sumber tepercaya untuk konfigurasi berasal dari komponen hardware pada perangkat, HAL untuk hardware harus memberikan informasi untuk komponen tersebut. Tentukan metode HAL baru di HAL yang sudah ada untuk mengakses konfigurasi. Untuk informasi lebih lanjut tentang cara mengembangkan HAL, lihat AIDL untuk HAL.
File XML konfigurasi sistem
Jika data konfigurasi bersifat statis tetapi rumit (terstruktur), pertimbangkan
penggunaan XML atau format serupa lainnya untuk data konfigurasi. Pastikan
skema file tetap stabil. Untuk file XML, Anda dapat menggunakan
xsd_config
agar skema tetap stabil, dan untuk memanfaatkan parser XML
yang dibuat secara otomatis.
Overlay resource
Anda dapat menggunakan overlay resource untuk menyesuaikan produk. Ada dua jenis overlay resource:
Overlay resource standar yang digunakan untuk menyesuaikan produk pada waktu build. Untuk mengetahui informasi tentang overlay resource standar, lihat Menyesuaikan build dengan overlay resource.
Overlay resource runtime (RRO) digunakan untuk mengubah nilai resource paket target saat runtime. Misalnya, aplikasi yang diinstal pada image sistem dapat mengubah perilakunya berdasarkan nilai resource. Daripada melakukan hardcoding nilai resource pada waktu build, RRO yang diinstal di partisi lain dapat mengubah nilai resource aplikasi saat runtime. Untuk mengetahui informasi selengkapnya tentang RRO, lihat Mengubah nilai resource aplikasi saat runtime.