Langsung ke konten utama
Dokumen
Apa yang baru?
Catatan rilis
Buletin keamanan terbaru
Compatibility Definition Document (CDD) Terbaru
Update situs
Memulai
Tentang
Mulai
Download
Build
Pengujian
Buat
Beri kontribusi
Komunitas
Alat, build, dan referensi terkait
Keamanan
Ringkasan
Buletin
Fitur
Pengujian
Praktik Terbaik
Topik Inti
Arsitektur
Audio
Kamera
Konektivitas
Data
Tampilan
Font
Grafik
Interaksi
Media
Performa
Izin
Daya
Runtime
Setelan
Storage
Pengujian
Update
Virtualisasi
Kompatibilitas
Compatibility Definition Document (CDD)
Compatibility Test Suite (CTS)
Perangkat Android
Sotong
Enterprise
TV
Automotive
Mulai
Pedoman untuk Pengembangan
Alat Pengembangan
Alat dan Infrastruktur Pengujian
Detail Rilis
Referensi
HIDL
HAL
Federasi Perdagangan
Security Test Suite
Android Code Search
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Masuk
Dokumentasi
Apa yang Baru?
Memulai
Keamanan
Topik Inti
Kompatibilitas
Perangkat Android
Automotive
Referensi
Dokumen
Lainnya
Apa yang Baru?
Memulai
Keamanan
Topik Inti
Kompatibilitas
Perangkat Android
Automotive
Referensi
Android Code Search
Ringkasan
Arsitektur
Ringkasan
Hardware abstraction layer (HAL)
Ringkasan
HIDL (tidak digunakan lagi)
Ringkasan
Antarmuka dan paket
Hashing antarmuka
Layanan dan transfer data
Antrean Pesan Cepat
Menggunakan Binder IPC
Menggunakan MemoryBlock
Alat konfigurasi stack jaringan
Threading model
Mengonversi modul HAL
Jenis data
Gabungan aman
Pembuatan versi antarmuka
Panduan gaya kode
HIDL C++
Ringkasan
Paket
Antarmuka
Jenis data
Fungsi
HIDL Java
Ringkasan
Jenis data
Metode dan error antarmuka
Mengekspor konstanta
Lainnya
Verifikasi kompatibilitas mundur framework HIDL
HAL yang tersedia secara dinamis
HAL Lama (AOSP <=v7)
Biji Jagung Meletup
Ringkasan
Catatan rilis kernel
Rilis dan update kernel stabil
Kernel umum Android
Project GKI
Pengembangan GKI
Skema pembuatan versi GKI
Build rilis GKI
Ringkasan
Build rilis android12-5.10
Build rilis android13-5.10
Build rilis android13-5.15
Build rilis android14-5.15
Build rilis android14-6.1
Build rilis android15-6.6
Build rilis android16-6.12
Build GKI yang tidak digunakan lagi
Build android12-5.10 tidak digunakan lagi
Build android13-5.10 yang tidak digunakan lagi
Build android13-5.15 tidak digunakan lagi
Build android14-5.15 yang tidak digunakan lagi
Build android14-6.1 tidak digunakan lagi
Build android15-6.6 yang tidak digunakan lagi
Build android16-6.12 tidak digunakan lagi
Proses rilis GKI
Errata android-mainline GKI 16-6.12
Menjaga KMI tetap stabil
Pemantauan ABI kernel
Ringkasan
Menjalankan pemantauan ABI
Menggunakan daftar simbol
Modul
Ringkasan
Mengonfigurasi fitur kernel sebagai modul GKI
Panduan modul vendor
Modul kernel yang dapat dimuat
Dukungan modul kernel
Menguji modul GKI
Pengoptimalan waktu booting
Fitur debug
Mengembangkan kode kernel untuk GKI
Dukungan sistem file kernel Android
Memperluas kernel dengan eBPF
Menggunakan DebugFS di Android 12
Modul kripto GKI yang dapat disertifikasi FIPS 140-3
EROFS
FAQ kernel Android
Pengujian unit jaringan kernel
Transisi dari heap ION ke DMA-BUF (kernel 5.4)
Sistem file inkremental
Konfigurasi
Ringkasan
Mengimplementasikan properti sistem sebagai API
Menambahkan properti sistem
Mengimplementasikan Config File Schema API
Arsip
Ringkasan
ConfigStore
Membuat antarmuka HAL
Mengimplementasikan layanan
Penggunaan sisi klien
Menambahkan class dan item ConfigStore
Overlay hierarki perangkat
Ringkasan
Mengimplementasikan DTO
Sintaksis DTO
Mengompilasi dan memverifikasi
Menggunakan beberapa DT
Partisi DTB dan DTBO
Mengoptimalkan DTO
NDK Vendor (<=AOSP 14)
Ringkasan
Mengaktifkan VNDK
Dukungan sistem build VNDK
Ekstensi VNDK
Desain snapshot VNDK
Membuat snapshot VNDK
Membuat snapshot vendor
Namespace penaut
Direktori, aturan, dan sepolicy
RenderScript
Stabilitas ABI
Pemeriksa penggunaan ABI bawaan
Objek antarmuka vendor
Ringkasan
Manifes
Matriks kompatibilitas
Siklus proses FCM
Pengembangan manifes perangkat
Aturan pencocokan
Referensi lain
AIDL
Ringkasan
Bahasa AIDL
Backend AIDL
AIDL Stabil
AIDL untuk HAL
Menjalankan layanan AIDL secara dinamis
Anotasi di AIDL
FMQ dengan AIDL
Fuzzing AIDL
Panduan gaya AIDL
Komunikasi antar-proses dengan Binder
Ringkasan
Menangani thread
Pewarisan prioritas
Bootloader
Ringkasan
Alasan booting kanonis
Header image booting
Mengimplementasikan bootconfig
Image pemulihan
Image DTB
Mengimplementasikan update OTA
Mengunci dan membuka kunci bootloader
Informasi versi di properti AVB
Memindahkan fastboot ke ruang pengguna
Bootloader Generik
Ringkasan
Men-deploy GBL
Partisi
Ringkasan
Tata letak partisi
Partisi booting vendor
Partisi DLKM vendor dan ODM
Image sistem bersama Android
Partisi ramdisk
Partisi booting generik
Partisi ODM
Partisi produk
Mengimplementasikan partisi modul GKI
Menerapkan antarmuka partisi produk
Partisi OS tepercaya
Ukuran halaman 16 KB
Ringkasan
Menggunakan Cuttlefish dengan ukuran halaman 16 KB di ARM64
Simulasikan Cuttlefish dengan ukuran halaman 16 KB di x86-64
Mem-build dan melakukan flash perangkat Pixel 8 dengan dukungan 16 KB
Flash Pixel dengan dukungan ukuran halaman 16 KB
Mendapatkan ukuran halaman
Mengoptimalkan performa untuk mode 16 KB
Properti sistem 16 KB
Mengaktifkan tombol 16 KB
Mengaktifkan opsi backcompat 16 KB
Level API vendor
Audio
Ringkasan
Terminologi
Penerapan
HAL Audio
AIDL Audio HAL
Dukungan Kebijakan Audio yang dapat dikonfigurasi di AIDL HAL
Perbandingan AIDL dan HIDL Audio HAL
HIDL
HIDL Audio HAL
Mengonfigurasi kebijakan audio
Mengonfigurasi library bersama
Mengonfigurasi efek prapemrosesan
Format data
Atribut
Efek
Audio beresolusi tinggi
Batas jenis perangkat
AAudio dan MMAP
Pemanasan audio
Latensi
Ringkasan
Kontributor
Mendesain untuk mengurangi latensi
Mengukur latensi audio
Dongle loopback audio
Pengukuran
Untuk developer aplikasi
Menghindari inversi prioritas
Konversi frekuensi sampel
Proses debug
MIDI
Ringkasan
Arsitektur MIDI
Prosedur pengujian MIDI
USB
Audio digital USB
Atribut mixer pilihan di perangkat USB
Audio TV
Perekaman serentak
Pemicu Suara
Pemilihan rute perangkat audio gabungan
Audio spasial
Audio spasial dan pelacakan gerakan kepala
Penerapan
Pelacakan gerak kepala melalui audio LE
Dosis suara
Mode soundbar dinamis
Kamera
Ringkasan
Arsitektur
Camera HAL
Subsistem HAL
Konsep inti
Mode 3A dan transisi status
Proses debug kamera
Penanganan error dan streaming
Metadata dan kontrol
Streaming output, pemangkasan, dan zoom
Pembuatan dan pengiriman permintaan
Konfigurasi streaming
Performa
API pengelolaan buffer HAL3 kamera
Parameter sesi
Satu produsen, beberapa konsumen
Fitur kamera
Output kamera 10-bit
Bokeh kamera
Streaming kamera serentak
Ekstensi kamera
Alat validasi ekstensi kamera
Stabilisasi pratinjau kamera
Kamera USB eksternal
Mode rentang dinamis tinggi
Pencitraan HEIF
Kamera monokrom
Pelacakan gerakan
Dukungan multi-kamera
Kamera sistem
Kontrol kekuatan senter
Ultra HDR
Menggunakan perangkat sebagai webcam
Perekaman gamut lebar
Pembuatan Versi
Dukungan versi kamera
Konektivitas
Ringkasan
Bluetooth
Ringkasan
Layanan Bluetooth
Bluetooth Low Energy
Dukungan audio alat bantu dengar menggunakan BLE
Iklan BLE
Memverifikasi dan men-debug
Persyaratan HCI
Kalibrasi kehadiran
Identifikasi Android OS
NFC
Emulasi kartu host FeliCa
Sinkronisasi pembayaran off-host NFC
Amankan NFC
Wallet Akses Cepat
Perintah NCI eksklusif Android
Panggilan telepon dan pesan
5G non-standalone (NSA)
Menerapkan pemblokiran nomor telepon
Notifikasi panggilan
Layanan pemilihan domain
Menerapkan Affordance Darurat
Database nomor darurat Android
Nomor darurat dan panggilan darurat
Menerapkan IMS
Hak layanan IMS
Pendaftaran tunggal IMS
Saran akun telepon
Mengimplementasikan RTT
Mendukung aplikasi panggilan pihak ketiga
Pesan suara visual
Operator
Ringkasan
Pemotongan jaringan 5G
APN dan CarrierConfig
Identifikasi operator
Menerapkan paket data
ID perangkat
eSIM
Mengimplementasikan eSIM
Persyaratan modem untuk dukungan eSIM
eUICC API
Beberapa profil yang diaktifkan
Menangani error eUICC API
Profil pengujian yang dapat didownload
Integrasi operator transfer eSIM
Meningkatkan pengalaman pengguna VPN
Dukungan jaringan multi-operator
Menyesuaikan perilaku perangkat untuk pengguna yang tidak seimbang
Pemfaktoran ulang RIL
Dukungan sel kecil
Hak istimewa operator UICC
Waktu
Ringkasan
Deteksi zona waktu lokasi
Deteksi zona waktu telepon
Deteksi waktu jaringan
Deteksi waktu GNSS
Deteksi waktu eksternal
Prioritas sumber waktu
Kebijakan dan rekomendasi zona waktu
Aturan zona waktu
Ultra-wideband
Ringkasan
Antarmuka UWB HAL
Wi-Fi
Ringkasan
HAL Wi-Fi
Fitur infrastruktur Wi-Fi
Menguji, men-debug, dan menyesuaikan Wi-Fi
Android Packet Filter
Wi-Fi Operator
Perilaku pengacakan MAC
Mengimplementasikan pengacakan MAC
Passpoint (Hotspot 2.0)
Konkurensi STA/AP Wi-Fi
Serentak STA/STA Wi-Fi
Percayai pada Penggunaan Pertama (TOFU)
Wi-Fi Aware
Penghindaran saluran Wi-Fi/seluler
Wi-Fi Direct
Wi-Fi Easy Connect
Hotspot Wi-Fi (Soft AP)
Konkurensi AP/AP Wi-Fi
Mode latensi rendah Wi-Fi
Pilihan jaringan Wi-Fi
Pemindaian offload jaringan pilihan Wi-Fi
Waktu Round Trip (RTT) Wi-Fi
WPA3 dan Wi-Fi Enhanced Open
Wi-Fi 7
Profil perangkat pendamping
Connectivity Diagnostics API
Antarmuka pengguna konektivitas
Pilihan jaringan
Pengukuran rentang: Spesifikasi payload dan urutan pesan out-of-band
Pelaporan kekuatan sinyal
Data
Ringkasan
Penjelasan tag penggunaan data
Mode Penghemat Kuota Internet
Pemantauan traffic eBPF
Mengecualikan jenis jaringan dari data penggunaan
Ringkasan statistik antarmuka jaringan
Data tethering
Pengurangan beban hardware tethering
Tanggal reset siklus penggunaan
Ringkasan kernel
Perubahan kernel
Tampilan
Ringkasan
Aplikasi
Mengimplementasikan ikon adaptif
Pintasan aplikasi
Mengimplementasikan ikon lingkaran
Notifikasi dan widget percakapan
Kabur jendela
Widget dan pintasan
Mengimplementasikan transisi aplikasi yang disinkronkan
Warna
Manajemen warna
Cutout tampilan
Jangan ganggu
Pemutaran video HDR
Mengimplementasikan cahaya malam
Pemetaan tone luminans HDR ke rentang yang kompatibel dengan SDR
Desain Material You
Warna dinamis
Multi-Aplikasi
Ringkasan
Fitur mode jendela desktop
Interaksi layar terpisah
Picture-in-picture
Pembesaran jendela
Multi-Tampilan
Ringkasan
Praktik yang direkomendasikan
Lingkungan pengujian dan pengembangan
Pertanyaan umum (FAQ)
Multi-resume
Kebijakan peluncuran aktivitas
Dukungan layar
Dukungan dekorasi sistem
Layar kunci
Dukungan editor metode input
Pemilihan rute input
Audio multizona
Notifikasi
Histori notifikasi
Izin untuk notifikasi keikutsertaan
Pengelola Tugas
Mode demo promo
Memutar saran
Mengimplementasikan pengklasifikasi teks
Komposisi SDR dan HDR campuran
Kontrol media di UI Sistem
Ekstensi WindowManager
Font
Mengimplementasikan penggantian font kustom
Grafik
Ringkasan
Arsitektur
BufferQueue dan Gralloc
Mengimplementasikan DMABUF dan pencatatan memori GPU
Melacak transisi jendela menggunakan Winscope
Ringkasan
Menjalankan Winscope
Merekam aktivitas
Ringkasan
ViewCapture di aplikasi sistem
Di perangkat
Menggunakan Winscope
Menggunakan perintah adb
Memuat rekaman aktivitas
Menganalisis rekaman aktivitas
Ringkasan
Navigasi linimasa
Penelusuran trace
SurfaceFlinger
WindowManager
Protolog
Transisi shell
ViewCapture
Surface dan SurfaceHolder
Ringkasan
SurfaceView dan GLSurfaceView
SurfaceTexture
TextureView
SurfaceFlinger dan WindowManager
Ringkasan
Properti sistem di SurfaceFlinger
HAL Hardware Composer
Ringkasan
Menerapkan HAL HWC
Penanganan hot-plug
AIDL untuk HWC HAL
Pengelolaan framebuffer klien
Mengurangi konsumsi memori grafis
Lapisan dan tampilan
VSync
Kecepatan frame
Beberapa kecepatan refresh
Kecepatan refresh adaptif
EGLSurfaces dan OpenGL ES
Ringkasan
Mengimplementasikan OpenGL ES dan EGL
Konfigurasi OpenGLRenderer
Vulkan
Ringkasan
Mengimplementasikan Vulkan
Framework sinkronisasi
Pengujian
Pengujian implementasi
Mengintegrasikan dengan Android CTS
Pengujian Program Kualitas drawElements
Latching buffer tanpa sinyal dengan AutoSingleLayer
Menambahkan format piksel baru ke Android
HDR di screenshot Android
Interaksi
Ringkasan
Input
Ringkasan
File tata letak kunci
File peta karakter utama
File konfigurasi perangkat input
Panduan migrasi
Perangkat keyboard
Perangkat sentuh
alat getevent
alat validatekeymaps
Sentuhan
Ringkasan
Mengimplementasikan haptic
Ringkasan
Mengimplementasikan konstanta dan primitif
Memetakan konstanta antara HAL dan API
Menerapkan efek amplop linear terpisah
Menilai hardware
Dasar-dasar UX untuk framework haptic
Desain UX haptic
Penilaian hardware
Ringkasan
Menyiapkan peralatan pengujian
Menyiapkan software pengujian
Mengukur dan mencatat efek target
Menganalisis bentuk gelombang
Membandingkan hasil menggunakan peta performa
Jaringan Neural
Ringkasan
Eksekusi burst dan antrean pesan cepat
Penyimpanan dalam cache kompilasi
Alur kontrol
Penemuan dan penetapan perangkat
Kumpulan memori
Praktik terbaik penerapan driver NNAPI
Kualitas layanan
Ekstensi vendor
Periferal
Ringkasan
Aksesori audio
Ringkasan
Headset 3,5 mm
Spesifikasi headset
Spesifikasi perangkat colokan headset
Headset USB
Spesifikasi headset
Spesifikasi adaptor
Spesifikasi perangkat
Perilaku yang diharapkan dari headset
Pengujian headset
Aksesori kustom
Ringkasan
Aksesori Terbuka Android
Ringkasan
AOA 2.0
AOA 1.0
Menonaktifkan sinyal data melalui USB
Stilus
Sensor
Ringkasan
Stack sensor
Jenis sensor
Interaksi
Protokol HID pelacak gerak kepala
Daya
Pengelompokan
Konsumsi daya
Mode
Mode pelaporan
Mode penangguhan
Sensor nonaktif
HAL Sensor
Sensors AIDL HAL
Multi-HAL Sensor
Sensors HAL 2.0
Sensors HAL 1.0
Penghentian penggunaan versi HAL
Lingkungan Runtime Hub Konteks
Ringkasan
Media
Ringkasan
Modul media
Modul MediaProvider
Menyesuaikan komponen media
Decoding latensi rendah di MediaCodec
Hardening framework media
Dependensi vendor SoC
Dependensi OEM
DRM
Transcoding media yang kompatibel
Mengekspor statistik encoding video
Panduan OEM untuk penerapan RoI
Performa
Ringkasan
Penyimpanan dalam cache APK
Freezer aplikasi yang di-cache
Mengoptimalkan waktu booting
Kesehatan
Ringkasan
Menerapkan Health 2.1
Lapisan abstraksi Cgroup
Low memory killer daemon
Pengoptimalan Berbasis Masukan Otomatis (12 atau yang lebih baru)
Menggunakan pengoptimalan yang dipandu profil
Snapshot tugas
Logging write-ahead kompatibilitas
Hibernasi aplikasi
Peningkatan performa untuk game
Statistik memori historis peristiwa MM
Mendapatkan informasi kesehatan sistem
Izin
Ringkasan
Kemampuan standby
Pengingat akses lokasi latar belakang
Penyedia dan afinitas kontak
Kontrol akses diskresional
ID perangkat yang tidak dapat diubah
Namespace untuk library native
Daftar yang diizinkan untuk izin dengan hak istimewa
Paket sistem bawaan
Indikator privasi
Daftar yang diizinkan UID bersama yang ditandatangani platform
Indikator privasi
Membatasi lokasi oportunistik
Pembacaan layar yang dibatasi
Peran Android
Izin runtime
Daftar izin tanda tangan yang diizinkan
Izin akses lokasi tiga status
Mengimplementasikan HAL USB
Streaming aplikasi pendamping
Batas intent layar penuh
Mengambil Konten untuk Catatan
Daya
Ringkasan
Manajemen daya
Mitigasi termal
HAL statistik daya
Pengelolaan daya aplikasi
Pengelolaan daya platform dengan mode Istirahatkan
Pengelolaan performa
Pelacak perilaku latar belakang aplikasi
Mendukung perangkat tanpa baterai
Mengukur daya komponen
Mengukur daya perangkat
Mengukur nilai daya
Penghemat baterai rutin
Mode standby TV
Layanan SystemSuspend
Runtime
Ringkasan
Pemeriksaan Dexpreopt dan <uses-library>
Peningkatan ART Android 8.0
Format bytecode Dalvik
Format Dalvik yang dapat dieksekusi
Format petunjuk yang dapat dieksekusi Dalvik
Batasan
Konfigurasi
Ringkasan
Konfigurasi Layanan ART
Konfigurasi pengelola paket (tidak digunakan lagi)
ART TI
Mengimplementasikan Konfigurasi yang Ditandatangani
Men-debug pembersihan sampah memori ART
Mengimplementasikan compiler JIT ART
Mengubah nilai resource aplikasi saat runtime
Memecahkan masalah RRO
Profil image booting
Mulai ulang di latar belakang (<= AOSP 14)
Tentang Zygote
Setelan
Ringkasan
Panduan desain
Pola dan komponen
Arsitektur informasi
Setelan hasil personalisasi
Penelusuran universal
Storage
Ringkasan
Penyimpanan tradisional
Penyimpanan yang dapat diadaptasi
Penyimpanan terbatas
Passthrough FUSE
Konfigurasi perangkat
Contoh konfigurasi
Statistik yang lebih cepat
Penghentian SDCardFS
Pengujian
Ringkasan
Alur kerja pengembangan pengujian
Ringkasan
Konfigurasi build sederhana
Konfigurasi pengujian yang kompleks
Uji instrumentasi
Ringkasan
Contoh pengujian instrumentasi mandiri
Menarget contoh aplikasi
GoogleTests (GTests)
Ringkasan
Menambahkan GTests baru
Pengujian metrik
Pengujian host JAR
Pemetaan pengujian
Menjalankan pengujian dengan Atest
OmniLab Android Test Station
Panduan pengguna
Perangkat virtual di OmniLab ATS