Hari ini kami merilis versi beta pertama Android 17, melanjutkan upaya kami untuk membangun platform yang memprioritaskan privasi, keamanan, dan performa yang lebih baik. Build ini melanjutkan upaya kami untuk membuat aplikasi Android yang lebih mudah beradaptasi, memperkenalkan peningkatan signifikan pada kemampuan kamera dan media, alat baru untuk mengoptimalkan konektivitas, dan profil yang diperluas untuk perangkat pendamping. Rilis ini juga menyoroti perubahan mendasar dalam cara kami menghadirkan rilis baru kepada komunitas developer, dari model Pratinjau Developer tradisional ke program Android Canary
Di luar Pratinjau Developer
Android telah menggantikan "Pratinjau Developer" tradisional dengan channel Canary berkelanjutan. Model "selalu aktif" yang baru ini menawarkan tiga manfaat utama:
- Akses Lebih Cepat: Fitur dan API tersedia di Canary segera setelah lulus pengujian internal, bukan menunggu rilis per kuartal.
- Stabilitas yang Lebih Baik: "Pengujian" awal di Canary menghasilkan pengalaman Beta yang lebih sempurna dengan API baru dan perubahan perilaku yang lebih mendekati final.
- Pengujian yang Lebih Mudah: Canary mendukung update OTA (tidak perlu lagi melakukan flashing secara manual) dan, sebagai saluran update terpisah, lebih mudah diintegrasikan dengan alur kerja CI serta memberi Anda peluang paling awal untuk memberikan masukan langsung tentang potensi perubahan mendatang.
Jadwal Android 17
Kami akan segera beralih dari versi Beta ini ke tonggak pencapaian Stabilitas Platform, yang ditargetkan pada bulan Maret. Pada tahap ini, kami akan memberikan API SDK/NDK final dan perilaku dari sisi aplikasi yang sebagian besar final. Mulai saat itu, Anda akan memiliki waktu beberapa bulan sebelum rilis final untuk menyelesaikan pengujian.
Setahun rilis
Kami berencana agar Android 17 terus menerima update dalam serangkaian rilis per kuartal. Rilis mendatang pada Kuartal 2 adalah satu-satunya rilis yang memperkenalkan perubahan perilaku yang direncanakan dan dapat merusak aplikasi. Kami berencana merilis SDK versi minor pada Kuartal 4 dengan API dan fitur tambahan.
Batasan orientasi dan pengubahan ukuran
Dengan rilis Android 17 Beta, kami beralih ke fase berikutnya dalam peta adaptif kami: Android 17 (API level 37) menghapus penonaktifan developer untuk pembatasan orientasi dan perubahan ukuran pada perangkat layar besar (sw > 600 dp).
Saat menargetkan SDK 37, aplikasi Anda harus siap beradaptasi. Pengguna mengharapkan aplikasi mereka berfungsi di mana saja—baik saat melakukan multitasking di tablet, membentangkan perangkat, atau menggunakan lingkungan windowing desktop—dan mereka mengharapkan UI mengisi ruang dan menyesuaikan postur perangkat mereka.
Perubahan Utama untuk SDK 37
Aplikasi yang menargetkan Android 17 harus memastikan kompatibilitas dengan penghentian penggunaan atribut manifes dan API runtime yang diperkenalkan di Android 16. Saat dijalankan di layar besar (dimensi yang lebih kecil ≥ 600 dp), atribut dan API berikut akan diabaikan:
| Atribut/API manifes | Nilai yang diabaikan |
| screenOrientation | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| setRequestedOrientation() | portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape |
| resizeableActivity | semua |
| minAspectRatio | semua |
| maxAspectRatio | semua |
Pengecualian dan Kontrol Pengguna
Perubahan ini khusus untuk layar besar; tidak berlaku untuk layar yang lebih kecil dari sw600dp (termasuk ponsel faktor bentuk slate tradisional). Selain itu, aplikasi yang dikategorikan sebagai game (berdasarkan tanda android:appCategory) dikecualikan dari pembatasan ini.
Penting juga untuk diperhatikan bahwa pengguna tetap memiliki kendali. Pengguna dapat memilih untuk menggunakan/tidak menggunakan perilaku default aplikasi secara eksplisit melalui setelan rasio aspek sistem.
Pembaruan pada perubahan konfigurasi
Untuk meningkatkan kompatibilitas aplikasi dan membantu meminimalkan pemutaran video yang terganggu, input yang terputus, dan jenis kehilangan status yang mengganggu lainnya, kami memperbarui perilaku default untuk pembuatan ulang Aktivitas. Mulai Android 17, sistem tidak akan lagi memulai ulang aktivitas secara default untuk perubahan konfigurasi tertentu yang biasanya tidak memerlukan pembuatan ulang UI, termasuk CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_UI_MODE (jika hanya UI_MODE_TYPE_DESK yang diubah), CONFIG_TOUCHSCREEN, dan CONFIG_COLOR_MODE. Sebagai gantinya, aktivitas yang sedang berjalan hanya akan menerima pembaruan ini melalui onConfigurationChanged. Jika aplikasi Anda mengandalkan mulai ulang penuh untuk memuat ulang resource untuk perubahan ini, Anda kini harus memilih ikut serta secara eksplisit menggunakan atribut manifes android:recreateOnConfigChanges baru, yang memungkinkan Anda menentukan perubahan konfigurasi mana yang harus memicu siklus proses aktivitas lengkap (dari berhenti, hingga penghancuran dan pembuatan lagi), bersama dengan konstanta terkait mcc, mnc, dan yang baru keyboard, keyboardHidden, navigation, touchscreen, dan colorMode.
Menyiapkan Aplikasi Anda
Kami telah merilis alat dan dokumentasi untuk mempermudah Anda. Postingan blog khusus kami memiliki panduan lainnya, dengan strategi untuk mengatasi masalah umum. Aplikasi harus mendukung tata letak lanskap dan potret untuk ukuran jendela di seluruh rentang rasio aspek, karena membatasi orientasi atau rasio aspek tidak akan lagi menjadi opsi. Sebaiknya uji aplikasi Anda menggunakan Android 17 Beta 1 dengan emulator Pixel Tablet atau Pixel Fold (dikonfigurasi ke targetSdkPreview = "CinnamonBun") atau dengan menggunakan framework kompatibilitas aplikasi untuk mengaktifkan UNIVERSAL_RESIZABLE_BY_DEFAULT di perangkat Android 16.
Performa
MessageQueue bebas kunci
Di Android 17, aplikasi yang menargetkan SDK 37 atau yang lebih tinggi akan menerima penerapan baru android.os.MessageQueue yang penerapannya bebas dari penguncian. Implementasi baru ini meningkatkan performa dan mengurangi frame yang terlewat, tetapi dapat merusak klien yang mencerminkan kolom dan metode pribadi MessageQueue.
Pembersihan sampah memori generasional
Android 17 memperkenalkan pengumpulan sampah memori generasional ke pengumpul Mark-Compact Serentak ART. Pengoptimalan ini memperkenalkan pengumpulan sampah memori generasi muda yang lebih sering dan tidak terlalu intensif resource bersama dengan pengumpulan sampah memori heap penuh, yang bertujuan untuk mengurangi biaya CPU dan durasi waktu pengumpulan sampah memori secara keseluruhan. Peningkatan ART juga tersedia untuk lebih dari satu miliar perangkat yang menjalankan Android 12 (level API 31) dan yang lebih tinggi melalui update Sistem Google Play.
Kolom final statis kini benar-benar final
Mulai dari Android 17, aplikasi yang menargetkan Android 17 atau yang lebih baru tidak akan dapat mengubah kolom “static final”, sehingga runtime dapat menerapkan pengoptimalan performa secara lebih agresif. Upaya untuk melakukannya melalui refleksi (dan refleksi mendalam) akan selalu menyebabkan IllegalAccessException ditampilkan. Memodifikasinya melalui metode SetStatic<Type>Field family JNI akan langsung menyebabkan aplikasi error.
Batasan Tampilan Notifikasi Kustom
Untuk mengurangi penggunaan memori, kami membatasi ukuran tampilan notifikasi kustom. Update ini menutup celah yang memungkinkan aplikasi melewati batas yang ada menggunakan URI. Perilaku ini dibatasi oleh versi SDK target dan berlaku untuk aplikasi yang menargetkan API 37 dan yang lebih tinggi.
Pemicu ProfilingManager baru untuk proses debug performa
Kami telah memperkenalkan beberapa pemicu sistem baru ke ProfilingManager untuk membantu Anda mengumpulkan data mendalam guna men-debug masalah performa. Pemicu ini adalah TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM, dan TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE.
Untuk memahami cara menyiapkan pemicu sistem baru, lihat dokumentasi pembuatan profil berbasis pemicu dan pengambilan dan analisis data pembuatan profil.
Media dan Kamera
Android 17 menghadirkan alat tingkat profesional ke aplikasi media dan kamera, dengan fitur seperti transisi yang lancar dan kenyaringan yang standar.
Update Sesi Kamera Dinamis
Kami telah memperkenalkan updateOutputConfigurations() ke CameraCaptureSession. Hal ini memungkinkan Anda melampirkan dan melepaskan permukaan output secara dinamis tanpa perlu mengonfigurasi ulang seluruh sesi pengambilan gambar kamera. Perubahan ini memungkinkan transisi yang lancar antara kasus penggunaan dan mode kamera (seperti mengambil gambar diam vs. merekam video) tanpa biaya memori dan kompleksitas kode untuk mengonfigurasi dan mempertahankan semua permukaan output kamera yang mungkin diperlukan aplikasi Anda selama memulai kamera. Hal ini membantu menghilangkan gangguan atau pembekuan yang terlihat oleh pengguna selama pengoperasian.
fun updateCameraSession(session: CameraCaptureSession, newOutputConfigs: List<OutputConfiguration>)) {
// Dynamically update the session without closing and reopening
try {
// Update the output configurations
session.updateOutputConfigurations(newOutputConfigs)
} catch (e: CameraAccessException) {
// Handle error
}
}
Metadata perangkat multi-kamera logis
Saat bekerja dengan kamera logis yang menggabungkan beberapa sensor kamera fisik, Anda kini dapat meminta metadata tambahan dari semua kamera fisik aktif yang terlibat dalam pengambilan gambar, bukan hanya kamera utama. Sebelumnya, Anda harus menerapkan solusi sementara, terkadang mengalokasikan streaming fisik yang tidak perlu, untuk mendapatkan metadata dari kamera aktif sekunder (misalnya, selama penggantian lensa untuk zoom saat kamera pengikut aktif). Fitur ini memperkenalkan kunci baru, LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS, di CaptureRequest dan CaptureResult. Dengan menyetel kunci ini ke AKTIF di CaptureRequest, TotalCaptureResult akan menyertakan metadata dari kamera fisik aktif tambahan ini. Anda dapat mengakses metadata komprehensif ini menggunakan TotalCaptureResult.getPhysicalCameraTotalResults() untuk mendapatkan informasi yang lebih mendetail yang dapat memungkinkan Anda mengoptimalkan penggunaan resource di aplikasi kamera.
Dukungan Versatile Video Coding (VVC)
Android 17 menambahkan dukungan untuk standar Versatile Video Coding (VVC). Hal ini mencakup penentuan jenis MIME video/vvc di MediaFormat, penambahan profil VVC baru di MediaCodecInfo, dan integrasi dukungan ke MediaExtractor. Fitur ini akan hadir di perangkat dengan dukungan dekode hardware dan driver yang kompatibel.
Kualitas Konstan untuk Perekaman Video
Kami telah menambahkan setVideoEncodingQuality() ke MediaRecorder. Hal ini memungkinkan Anda mengonfigurasi mode kualitas konstan (CQ) untuk encoder video, sehingga Anda memiliki kontrol yang lebih baik atas kualitas video di luar setelan bitrate sederhana.
Penguatan Audio Latar Belakang
Mulai Android 17, framework audio akan menerapkan batasan pada interaksi audio di latar belakang, termasuk pemutaran audio, permintaan fokus audio, dan API perubahan volume untuk memastikan bahwa perubahan ini dimulai secara sengaja oleh pengguna.
Jika aplikasi mencoba memanggil API audio saat aplikasi tidak dalam siklus proses yang valid, API pemutaran audio dan perubahan volume akan gagal secara diam-diam tanpa pengecualian yang ditampilkan atau pesan kegagalan yang diberikan. API fokus audio akan gagal dengan kode hasil AUDIOFOCUS_REQUEST_FAILED.
Privasi dan Keamanan
Penghentian Penggunaan Atribut Traffic Cleartext
Atribut android:usesCleartextTraffic kini tidak digunakan lagi. Jika aplikasi Anda menargetkan (Android 17) atau yang lebih tinggi dan mengandalkan usesCleartextTraffic="true" tanpa Konfigurasi Keamanan Jaringan yang sesuai, aplikasi akan secara default melarang traffic cleartext. Sebaiknya Anda bermigrasi ke file Konfigurasi Keamanan Jaringan untuk kontrol terperinci.
Kriptografi Hybrid HPKE
Kami memperkenalkan Antarmuka Penyedia Layanan (SPI) publik untuk penerapan kriptografi hibrida HPKE, yang memungkinkan komunikasi yang aman menggunakan kombinasi kunci publik dan enkripsi simetris (AEAD).
Konektivitas dan Telekomunikasi
Histori Panggilan VoIP yang Ditingkatkan
Kami memperkenalkan pengelolaan preferensi pengguna untuk integrasi histori panggilan VoIP aplikasi. Hal ini mencakup dukungan untuk URI avatar pemanggil dan peserta di dialer sistem, yang memungkinkan kontrol pengguna yang terperinci atas privasi log panggilan dan memperkaya tampilan visual log panggilan VoIP terintegrasi.
Pengukuran Jarak dan Kedekatan Wi-Fi
Pengukuran Jarak Wi-Fi telah ditingkatkan dengan kemampuan Deteksi Kedekatan baru, yang mendukung pengukuran jarak berkelanjutan dan penemuan peer-to-peer yang aman. Pembaruan pada Wi-Fi Aware mencakup API baru untuk handle peer dan caching PMKID untuk pengukuran jarak aman 11az.
Alat dan Produktivitas Developer
Pembaruan untuk aplikasi perangkat pendamping
Kami telah memperkenalkan dua profil baru ke CompanionDeviceManager untuk meningkatkan perbedaan perangkat dan penanganan izin:
- Perangkat Medis: Profil ini memungkinkan aplikasi seluler perangkat medis meminta semua izin yang diperlukan dengan satu ketukan, sehingga menyederhanakan proses penyiapan.
- Pelacak Kebugaran: Profil DEVICE_PROFILE_FITNESS_TRACKER memungkinkan aplikasi pendamping menunjukkan secara eksplisit bahwa mereka mengelola pelacak kebugaran. Hal ini memastikan pengalaman pengguna yang akurat dengan ikon yang berbeda saat menggunakan kembali izin peran jam tangan yang ada.
Selain itu, CompanionDeviceManager kini menawarkan dialog terpadu untuk permintaan izin Perangkat di sekitar dan pengaitan perangkat. Anda dapat memanfaatkan metode setExtraPermissions baru di AssociationRequest.Builder untuk menggabungkan dialog izin terdekat dalam alur penautan yang ada, sehingga mengurangi jumlah dialog yang ditampilkan kepada pengguna.
Mulai menggunakan Android 17
Anda dapat mendaftarkan perangkat Pixel yang didukung untuk mendapatkan update Beta Android ini dan mendatang secara over the air. Jika tidak memiliki perangkat Pixel, Anda dapat menggunakan image sistem 64-bit dengan Android Emulator di Android Studio.
Jika saat ini Anda berada dalam program Beta Android, Anda akan ditawari update over the air ke Beta 1.
Jika Anda memiliki Android 26Q1 Beta dan ingin menggunakan rilis stabil final 26Q1 dan keluar dari Beta, Anda harus mengabaikan update over-the-air ke 26Q2 Beta 1 dan menunggu rilis 26Q1.
Kami menantikan masukan Anda. Jadi, laporkan masalah dan kirimkan permintaan fitur di halaman masukan. Semakin awal kami mendapatkan masukan Anda, semakin banyak yang dapat kami sertakan dalam pekerjaan kami pada rilis final.
Untuk mendapatkan pengalaman pengembangan terbaik dengan Android 17, sebaiknya gunakan pratinjau terbaru Android Studio (Panda). Setelah Anda menyiapkan semuanya, berikut beberapa hal yang harus Anda lakukan:
- Lakukan kompilasi terhadap SDK baru, uji di lingkungan CI, dan laporkan masalah apa pun di pelacak kami di halaman masukan.
- Uji kompatibilitas aplikasi Anda saat ini, pelajari apakah aplikasi Anda terpengaruh oleh perubahan di Android 17, lalu instal aplikasi Anda ke perangkat atau emulator yang menjalankan Android 17 dan uji secara ekstensif.
Kami akan mengupdate image sistem pratinjau/beta dan SDK secara rutin sepanjang siklus rilis Android 17. Setelah menginstal build beta, Anda akan otomatis mendapatkan update over-the-air mendatang untuk semua pratinjau dan Beta berikutnya.
Untuk mengetahui informasi lengkapnya, buka situs developer Android 17.
Bergabung dalam percakapan
Saat kami bergerak menuju Stabilitas Platform dan rilis stabil final Android 17 pada akhir tahun ini, masukan Anda tetap menjadi aset kami yang paling berharga. Baik Anda pengguna awal di saluran Canary maupun developer aplikasi yang melakukan pengujian di Beta 1, sebaiknya bergabunglah dengan komunitas kami dan kirimkan masukan. Kami mendengarkan.
Lanjutkan membaca
-
Berita Produk
Google I/O '26 menampilkan 17 pengumuman penting untuk developer Android yang berfokus pada produktivitas yang dipandu agen, Compose First sebagai standar UI kami, serta media berperforma tinggi dan pengembangan adaptif untuk ekosistem yang terus berkembang.
Matthew McCullough • Waktu baca: 8 menit
-
Berita Produk
Diumumkan hari ini selama The Android Show, Android bertransisi dari sistem operasi menjadi sistem kecerdasan, sehingga menciptakan lebih banyak peluang untuk berinteraksi dengan aplikasi Anda.
Matthew McCullough • Waktu baca: 4 menit
-
Berita Produk
Hari ini, kami meningkatkan pengembangan Android dengan Gemma 4, model open source canggih terbaru kami yang dirancang dengan kemampuan penalaran kompleks dan pemanggilan alat secara mandiri.
Matthew McCullough • Waktu baca: 2 menit
Terus dapatkan informasi
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.