Level API vendor mengacu pada versi antarmuka yang didukung oleh partisi vendor. Antarmuka ini bersifat dua arah; antarmuka ini menjelaskan API yang disediakan partisi vendor ke partisi sistem (hardware abstraction layer atau antarmuka HAL), dan juga API yang diperlukan partisi vendor dari partisi sistem (low-level native developers kit atau antarmuka LLNDK).
Level API vendor juga digunakan untuk menentukan Persyaratan Software Vendor (VSR), yang merupakan kumpulan persyaratan fungsional dan non-fungsional yang harus dipenuhi oleh software di partisi vendor.
Bagian lainnya di halaman ini menjelaskan cara properti sistem digunakan, bergantung pada versi Android Anda, untuk menentukan level API vendor.
Pembekuan vendor
Android memungkinkan vendor membekukan partisi vendor pada versi VSR tertentu. Kumpulan fitur yang diharapkan Android dari partisi vendor ditentukan oleh level API vendor yang terkait dengan partisi vendor. Saat runtime, perilaku software yang berjalan di partisi sistem akan disesuaikan untuk mengakomodasi level API vendor dari partisi vendor. Misalnya, software di partisi sistem mungkin tidak menggunakan fitur baru jika tidak didukung oleh level API partisi vendor.
Pembekuan vendor hanya tersedia jika Anda membuat perangkat yang kompatibel dengan Android.
Menentukan level API vendor (Android 14-QPR3 dan yang lebih baru)
Untuk Android 14-QPR3 dan yang lebih baru, level API vendor dirilis secara terpisah, yang berarti level API SDK dan level API vendor tidak sinkron.
Karena jadwal rilis yang terpisah, untuk Android 14-QPR3 dan yang lebih baru, level API vendor sepenuhnya dipisahkan dari level API SDK. Untuk memastikan pemisahan ini jelas, format level API vendor adalah tanggal yang diformat sebagai YYYYMM (tahun dan bulan), sedangkan level SDK adalah bilangan bulat.
Android 14-QPR3 dan yang lebih baru berisi properti sistem berikut yang terkait dengan level API vendor:
| Properti sistem | Format | Deskripsi | Setelan awal |
|---|---|---|---|
ro.board.api_level |
YYYYMM | Level API vendor yang didukung oleh software chipset. Properti ini ditetapkan untuk semua chipset. | Properti ini ditetapkan oleh sistem build secara otomatis. |
ro.board.first_api_level |
YYYYMM | Level API vendor yang digunakan saat pertama kali software chipset dirilis. Properti ini hanya merupakan fungsi chipset dan ditetapkan oleh vendor SoC jika chipset SoC memenuhi syarat untuk pembekuan vendor. Setelah setelan awal, properti ini harus dianggap final dan tidak boleh diubah. Meskipun sangat tidak disarankan, update mungkin diizinkan dalam kasus yang jarang dan luar biasa dengan kualifikasi pembekuan vendor baru. | Vendor SoC menetapkan setelan ini menggunakan BOARD_SHIPPING_API_LEVEL. |
ro.product.first_api_level |
Bilangan Bulat | Level API SDK yang digunakan saat perangkat pertama kali diluncurkan. | Properti ini ditetapkan oleh OEM, lalu tidak pernah diupdate, bahkan setelah upgrade OS. |
ro.vendor.api_level |
YYYYMM | Level API vendor yang sesuai dengan ro.product.first_api_level. Kami menetapkan ro.vendor.api_level ke nilai ro.board.api_level jika ro.board.api_level kurang dari level API vendor ro.product.first_api_level hanya jika chipset SoC memenuhi syarat untuk pembekuan vendor. |
Dijelaskan setelah tabel ini. |
ro.board.api_frozen |
boolean | Properti ini ditetapkan ke true jika level API vendor yang diwakili oleh ro.board.api_level telah difinalisasi. |
Jika properti ini tidak ditetapkan, properti ini akan ditetapkan ke false secara default. |
ro.llndk.api_level |
YYYYMM | Level API vendor dalam format YYYYMM yang disediakan oleh LLNDK saat ini di partisi sistem. LLNDK kompatibel dengan versi lama, sehingga image vendor yang kurang dari atau sama dengan level API ini dapat di-flash dengan image sistem ini. | Properti ini ditetapkan di partisi sistem. |
Properti ro.vendor.api_level diturunkan dengan salah satu dari dua cara berikut:
Jika chipset memenuhi syarat untuk pembekuan vendor:
ro.vendor.api_level = min( ro.board.api_level, AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))Jika chipset tidak dalam pembekuan vendor:
ro.vendor.api_level = AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level)
Metode AVendorSupport_getVendorApiLevelOf() menentukan level API vendor yang sesuai dari level API SDK. Misalnya
AVendorSupport_getVendorApiLevelOf(35), dengan 35 adalah level API SDK dari
rilis utama Android pada tahun 2024 menampilkan 202404, yang merupakan tanggal perkiraan untuk
Android 14-QPR3 saat Level API Vendor saat ini ditetapkan.
Menentukan level API vendor (Android 13)
Level API vendor mengikuti level API SDK, yang digunakan untuk antarmuka OS aplikasi dan diupdate setahun sekali saat platform Android baru dirilis ke AOSP.
Android 13 berisi properti sistem berikut yang terkait dengan level API vendor:
| Properti sistem | Format | Deskripsi | Setelan awal |
|---|---|---|---|
ro.board.first_api_level |
Bilangan Bulat | Level API vendor yang digunakan saat pertama kali software chipset dirilis. Properti ini hanya merupakan fungsi chipset, dan tidak dapat diubah oleh vendor SoC atau OEM. Properti ini hanya ditetapkan untuk chipset yang memenuhi syarat untuk pembekuan vendor | Nilai ditetapkan dengan menyetel BOARD_SHIPPING_API_LEVEL dalam file device.mk. |
ro.board.api_level |
Bilangan Bulat | Level API vendor yang didukung oleh software chipset. Properti ini hanya ditetapkan untuk chipset yang memenuhi syarat untuk pembekuan vendor. | Awalnya, nilai properti ini ditetapkan oleh sistem build ke nilai yang sama dengan ro.board.first_api_level, tetapi dapat diupdate jika partisi vendor diupgrade. |
ro.product.first_api_level |
Bilangan Bulat | Level API SDK yang digunakan saat perangkat pertama kali diluncurkan. | Properti ini ditetapkan oleh OEM, lalu tidak pernah diupdate, bahkan setelah upgrade OS. |
ro.vendor.api_level |
Bilangan Bulat | Sama dengan deskripsi level API vendor di tabel sebelumnya. | |
ro.vndk.version |
Bilangan Bulat | Versi VNDK yang digunakan untuk mem-build partisi vendor. | Properti ini ditetapkan di partisi vendor. |
ro.vendor.build.version.sdk |
Bilangan Bulat | Level API SDK dari pohon sumber tempat partisi vendor di-build. |