Hari ini kami merilis beta kedua Android 17, melanjutkan upaya kami untuk membangun platform yang memprioritaskan privasi, keamanan, dan performa yang lebih baik. Update ini menghadirkan berbagai kemampuan baru, termasuk EyeDropper API dan Pemilih Kontak yang menjaga privasi. Kami juga menambahkan API transfer antar-perangkat, pengukuran jarak jauh lanjutan, dan lainnya.
Rilis ini melanjutkan perubahan pada irama rilis kami, dengan mengikuti rilis SDK utama tahunan ini pada Kuartal 2 dengan update SDK minor.
Pengalaman Pengguna & UI Sistem
Balon
Bubble adalah fitur mode tampilan jendela yang menawarkan pengalaman UI mengambang baru yang terpisah dari API bubble pesan. Pengguna dapat membuat balon aplikasi di ponsel, perangkat foldable, atau tablet dengan menekan lama ikon aplikasi di peluncur. Di layar besar, ada kolom balon sebagai bagian dari taskbar tempat pengguna dapat mengatur, berpindah antar-balon, serta memindahkan balon ke dan dari titik yang ditambatkan di layar.
Anda harus mengikuti panduan untuk mendukung mode multi-aplikasi guna memastikan aplikasi Anda berfungsi dengan benar sebagai balon.
Balon belum sepenuhnya diaktifkan di Beta 2. Cari fitur tersebut di build Android 17 mendatang.
EyeDropper API
EyeDropper API tingkat sistem baru memungkinkan aplikasi Anda meminta warna dari piksel mana pun di layar tanpa memerlukan izin pengambilan screenshot sensitif.
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK) // Use the picked color in your app } } fun launchColorPicker() { val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER) eyeDropperLauncher.launch(intent) }
Pemilih Kontak
Pemilih kontak tingkat sistem baru melalui ACTION_PICK_CONTACTS memberikan akses baca sementara berbasis sesi hanya ke kolom data tertentu yang diminta oleh pengguna, sehingga mengurangi kebutuhan akan izin READ_CONTACTS yang luas. Aplikasi ini juga memungkinkan pemilihan dari profil pribadi atau kerja perangkat.
val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
if (it.resultCode == RESULT_OK) {
val uri = it.data?.data ?: return@rememberLauncherForActivityResult
// Handle result logic
processContactPickerResults(uri)
}
}
val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
putExtra(EXTRA_ALLOW_MULTIPLE, true)
putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}
contactPicker.launch(intent)Kompatibilitas pengambilan pointer yang lebih mudah dengan touchpad
Sebelumnya, touchpad melaporkan peristiwa dengan cara yang sangat berbeda dari mouse saat aplikasi telah merekam pointer, melaporkan lokasi jari di pad, bukan gerakan relatif yang akan dilaporkan oleh mouse. Hal ini membuat dukungan touchpad yang tepat dalam game orang pertama menjadi cukup sulit. Sekarang, secara default, sistem akan mengenali gerakan pointer dan gestur scrolling saat touchpad direkam, dan melaporkannya seperti peristiwa mouse. Anda tetap dapat meminta data lokasi jari yang lama dan mendetail dengan meminta pengambilan secara eksplisit dalam mode “absolut” yang baru.
// To request the new default relative mode (mouse-like events) // This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE view.requestPointerCapture() // To request the legacy absolute mode (raw touch coordinates) view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)
Batas istirahat Pemilih Interaktif
Dengan memanggil getInitialRestingBounds di ChooserSession Android, aplikasi Anda dapat mengidentifikasi posisi target yang ditempati Pemilih setelah animasi dan pemuatan data selesai, sehingga memungkinkan penyesuaian UI yang lebih baik.
Konektivitas & Lintas Perangkat
Pengalihan aplikasi lintas perangkat
Handoff API baru memungkinkan Anda menentukan status aplikasi yang akan dilanjutkan di perangkat lain, seperti tablet Android. Jika diaktifkan, sistem akan menyinkronkan status melalui CompanionDeviceManager dan menampilkan saran pengalihan di peluncur perangkat terdekat pengguna. Fitur ini dirancang untuk menawarkan kelancaran kesinambungan tugas, sehingga pengguna dapat melanjutkan alur kerja mereka di ekosistem Android mereka. Yang penting, Handoff mendukung transisi aplikasi-ke-aplikasi native dan penggantian aplikasi-ke-web, sehingga memberikan fleksibilitas maksimum dan memastikan pengalaman yang lengkap meskipun aplikasi native tidak diinstal di perangkat penerima.
API pengukuran jarak lanjutan
Kami menambahkan dukungan untuk 2 teknologi pengukuran jarak baru -
- UWB DL-TDOA yang memungkinkan aplikasi menggunakan UWB untuk navigasi dalam ruangan. Permukaan API ini kompatibel dengan spesifikasi DL-TDOA FIRA (Fine Ranging Consortium) 4.0 dan memungkinkan navigasi dalam ruangan yang menjaga privasi (menghindari pelacakan perangkat oleh anchor).
- Deteksi Kedekatan yang memungkinkan aplikasi menggunakan spesifikasi pengukuran jarak baru yang diadopsi oleh WFA (WiFi Alliance). Teknologi ini memberikan keandalan dan akurasi yang lebih baik dibandingkan dengan spesifikasi pengukuran jarak berbasis Wifi Aware yang ada.
Peningkatan paket data
Untuk mengoptimalkan kualitas media, aplikasi Anda kini dapat mengambil kecepatan data maksimum yang dialokasikan operator untuk aplikasi streaming menggunakan getStreamingAppMaxDownlinkKbps dan getStreamingAppMaxUplinkKbps.
Fungsi Inti, Privasi & Performa
Akses Jaringan Lokal
Android 17 memperkenalkan izin runtime ACCESS_LOCAL_NETWORK untuk melindungi pengguna dari akses jaringan lokal yang tidak sah. Karena termasuk dalam grup izin NEARBY_DEVICES yang ada, pengguna yang telah memberikan izin NEARBY_DEVICES lainnya tidak akan diminta lagi. Dengan mendeklarasikan dan meminta izin ini, aplikasi Anda dapat menemukan dan terhubung ke perangkat di jaringan area lokal (LAN), seperti perangkat smart home atau penerima transmisi. Tindakan ini mencegah aplikasi berbahaya memanfaatkan akses jaringan lokal yang tidak dibatasi untuk pelacakan dan pembuatan sidik jari pengguna secara diam-diam. Aplikasi yang menargetkan Android 17 atau yang lebih tinggi kini memiliki dua jalur untuk mempertahankan komunikasi dengan perangkat LAN: menggunakan pemilih perangkat yang dimediasi sistem dan menjaga privasi untuk melewati perintah izin, atau meminta izin baru ini secara eksplisit saat runtime untuk mempertahankan komunikasi jaringan lokal.
Siaran perubahan offset zona waktu
Android kini menyediakan intent siaran yang andal, ACTION_TIMEZONE_OFFSET_CHANGED, yang dipicu saat offset zona waktu sistem berubah, seperti selama transisi Waktu Musim Panas. Hal ini melengkapi intent siaran yang ada, yaitu ACTION_TIME_CHANGED dan ACTION_TIMEZONE_CHANGED, yang dipicu saat stempel waktu Unix berubah dan saat ID zona waktu berubah.
Pengelolaan dan Prioritas NPU
Aplikasi yang menargetkan Android 17 yang perlu mengakses NPU secara langsung harus mendeklarasikan FEATURE_NEURAL_PROCESSING_UNIT dalam manifesnya agar tidak diblokir saat mengakses NPU. Hal ini mencakup aplikasi yang menggunakan delegasi NPU LiteRT, SDK khusus vendor, serta NNAPI yang tidak digunakan lagi.
Dukungan ICU 78 dan Unicode 17
Library internasionalisasi inti telah diupdate ke ICU 78, sehingga memperluas dukungan untuk skrip, karakter, dan blok emoji baru, serta memungkinkan pemformatan langsung objek waktu.
Perlindungan OTP SMS
Android memperluas perlindungan OTP SMS dengan menunda akses ke pesan SMS yang berisi OTP secara otomatis. Sebelumnya, perlindungan terutama berfokus pada format SMS Retriever yang mana pengiriman pesan yang berisi hash SMS Retriever ditunda selama tiga jam untuk sebagian besar aplikasi. Namun, untuk aplikasi tertentu seperti aplikasi SMS default, dll. dan aplikasi yang sesuai dengan hash dikecualikan dari penundaan ini. Pembaruan ini memperluas perlindungan ke semua pesan SMS dengan OTP. Untuk sebagian besar aplikasi, pesan SMS yang berisi OTP hanya dapat diakses setelah penundaan selama tiga jam untuk membantu mencegah pembajakan OTP. Siaran SMS_RECEIVED_ACTION akan ditahan dan kueri database penyedia SMS akan difilter. Pesan SMS akan tersedia untuk aplikasi ini setelah penundaan.
Akses tertunda ke pesan SMS format WebOTP
Jika aplikasi memiliki izin untuk membaca pesan SMS, tetapi bukan penerima OTP yang dimaksud (seperti yang ditentukan oleh verifikasi domain), pesan SMS berformat WebOTP hanya akan dapat diakses setelah tiga jam berlalu. Perubahan ini dirancang untuk meningkatkan keamanan pengguna dengan memastikan bahwa hanya aplikasi yang terkait dengan domain yang disebutkan dalam pesan yang dapat membaca kode verifikasi secara terprogram. Perubahan ini berlaku untuk semua aplikasi, terlepas dari level API targetnya.
Akses tertunda ke pesan SMS standar dengan OTP
Untuk pesan SMS yang berisi OTP yang tidak menggunakan format WebOTP atau SMS Retriever, SMS OTP hanya akan dapat diakses setelah tiga jam untuk sebagian besar aplikasi. Perubahan ini hanya berlaku untuk aplikasi yang menargetkan Android 17 (level API 37) atau yang lebih tinggi.
Aplikasi tertentu seperti aplikasi SMS default, aplikasi asisten, beserta aplikasi pendamping perangkat terhubung, dll. akan dikecualikan dari penundaan ini.
Semua aplikasi yang mengandalkan pembacaan pesan SMS untuk ekstraksi OTP harus beralih menggunakan API SMS Retriever atau SMS User Consent untuk memastikan fungsionalitas yang berkelanjutan.
Jadwal Android 17
Kita akan bergerak cepat dari versi Beta ini ke tonggak Stabilitas Platform, yang ditargetkan pada bulan Maret. Pada tahap pencapaian ini, kami akan memberikan API SDK/NDK final. Mulai saat itu, aplikasi Anda dapat menargetkan SDK 37 dan dipublikasikan ke Google Play untuk membantu Anda menyelesaikan pengujian dan mengumpulkan masukan pengguna dalam beberapa bulan sebelum ketersediaan umum Android 17.
Tahun 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.
Mulai menggunakan Android 17
Anda dapat mendaftarkan perangkat Pixel yang didukung untuk mendapatkan update Beta Android ini dan mendatang secara over the air (OTA). 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 2.
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 2 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 mendatang
over-the-air untuk semua pratinjau dan Beta berikutnya.
Untuk mengetahui informasi lengkapnya, buka situs developer Android 17.
Bergabung dalam percakapan
Seiring kami bergerak menuju Stabilitas Platform dan ketersediaan umum 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 menguji di Beta 2, sebaiknya bergabunglah dengan komunitas kami dan kirimkan masukan. Kami mendengarkan.
Lanjutkan membaca
-
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
-
Berita Produk
Android 17 secara resmi telah mencapai stabilitas platform hari ini dengan Beta 3. Artinya, permukaan API dikunci; Anda dapat melakukan pengujian kompatibilitas akhir dan mengirimkan aplikasi yang menargetkan Android 17 ke Play Store.
Matthew McCullough • Waktu baca: 5 menit
-
Berita Produk
Meningkatkan pengembangan Android yang dibantu AI dan meningkatkan kualitas LLM dengan Android Bench
Kami ingin mempermudah dan mempercepat Anda dalam membangun aplikasi Android berkualitas tinggi, dan salah satu cara kami membantu Anda menjadi lebih produktif adalah dengan menghadirkan AI di ujung jari Anda.
Matthew McCullough • Waktu baca: 2 menit
Terus dapatkan informasi
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.