Berita Produk

Beta Kedua Android 17

Waktu baca: 6 menit
Matthew McCullough
Vice President, Product Management, Android Developer

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.

Bubbles.gif

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.

Eyedropper_Tester.webp
  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.

android-17-contact-picker.gif
  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 - 

  1. 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).
  2. 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.

Linimasa Rilis Android.png

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.

Linimasa Rilis Android_2.png

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.

Ditulis oleh:

Lanjutkan membaca