Berita Produk

Android 17 Beta Keempat

Waktu baca: 4 menit
Daniel Galpin
Advokat Developer

Android 17 telah mencapai beta 4, beta terjadwal terakhir dari siklus rilis ini, yang merupakan pencapaian penting untuk kompatibilitas aplikasi dan stabilitas platform. Baik Anda menyempurnakan pengalaman pengguna aplikasi, memastikan rendering edge-to-edge yang lancar, atau memanfaatkan API terbaru, Beta 4 menyediakan lingkungan yang hampir final yang Anda butuhkan untuk pengujian. 

Siapkan aplikasi, library, alat, dan game engine Anda

Jika Anda mengembangkan Android SDK, library, alat, atau game engine, penting untuk menyiapkan update yang diperlukan sekarang guna mencegah developer aplikasi dan game downstream Anda diblokir oleh masalah kompatibilitas dan memungkinkan mereka menargetkan fitur SDK terbaru. Harap beri tahu developer downstream Anda jika update diperlukan untuk mendukung Android 17 sepenuhnya.

Android17_Timeline_01_V02.png

Pengujian melibatkan penginstalan aplikasi produksi atau aplikasi pengujian yang menggunakan library atau engine Anda menggunakan Google Play atau cara lain ke perangkat atau emulator yang menjalankan Android 17 Beta 4. Kerjakan semua alur aplikasi Anda dan cari masalah fungsional atau UI. Setiap rilis Android berisi perubahan platform yang meningkatkan privasi, keamanan, dan pengalaman pengguna secara keseluruhan; tinjau perubahan perilaku yang berdampak pada aplikasi untuk aplikasi yang berjalan di dan menargetkan Android 17 untuk memfokuskan pengujian Anda, termasuk hal berikut:

  • Perubahan ukuran di layar besar: Setelah menargetkan Android 17, Anda tidak dapat lagi memilih untuk tidak mempertahankan batasan orientasi, perubahan ukuran, dan rasio aspek di layar besar.
  • Pemuatan kode dinamis: Jika aplikasi Anda menargetkan Android 17 atau yang lebih tinggi, perlindungan Pemuatan Kode Dinamis (DCL) yang Lebih Aman yang diperkenalkan di Android 14 untuk file DEX dan JAR kini diperluas ke library native. Semua file native yang dimuat menggunakan System.load() harus ditandai sebagai hanya baca. Jika tidak, sistem akan menampilkan UnsatisfiedLinkError.
  • Mengaktifkan CT secara default: Transparansi sertifikat (CT) diaktifkan secara default. (Di Android 16, CT tersedia, tetapi aplikasi harus ikut serta.)
  • Perlindungan jaringan lokal: Aplikasi yang menargetkan Android 17 atau yang lebih tinggi memiliki akses jaringan lokal yang diblokir secara default. Beralihlah ke penggunaan pemilih yang menjaga privasi jika memungkinkan, dan gunakan izin ACCESS_LOCAL_NETWORK baru untuk akses yang luas dan persisten.
  • Penguatan audio latar belakang: Mulai Android 17, framework audio menerapkan pembatasan pada interaksi audio latar belakang termasuk pemutaran audio, permintaan fokus audio, dan API perubahan volume. Berdasarkan masukan Anda, kami telah melakukan beberapa perubahan sejak beta 2, termasuk pembatasan targetSDK saat penggunaan FGS dan pengecualian audio alarm. Detail lengkapnya tersedia dalam panduan yang telah diperbarui.

Batas memori aplikasi

Android memperkenalkan batas memori aplikasi berdasarkan RAM total perangkat untuk membuat lingkungan yang lebih stabil dan deterministik bagi aplikasi dan pengguna Android Anda. Di Android 17, batas ditetapkan secara konservatif untuk menetapkan dasar sistem, menargetkan kebocoran memori ekstrem dan outlier lainnya sebelum memicu ketidakstabilan di seluruh sistem yang mengakibatkan UI tersendat, pengurasan baterai yang lebih tinggi, dan aplikasi dihentikan. Meskipun kami mengantisipasi dampak minimal pada sebagian besar sesi aplikasi, sebaiknya ikuti praktik terbaik memori berikut, termasuk menetapkan dasar untuk memori.

Dalam implementasi saat ini, getDescription di ApplicationExitInfo akan berisi string "MemoryLimiter" jika aplikasi Anda terpengaruh. Anda juga dapat menggunakan pembuatan profil berbasis pemicu dengan TRIGGER_TYPE_ANOMALY untuk mendapatkan heap dump yang dikumpulkan saat batas memori tercapai.

unnamed (2).png
Tugas LeakCanary di Profiler Android Studio

Untuk membantu Anda menemukan kebocoran memori, Android Studio Panda menambahkan integrasi LeakCanary langsung di Profiler Android Studio sebagai tugas khusus, yang dikontekstualisasikan dalam IDE dan terintegrasi sepenuhnya dengan kode sumber Anda.

Jejak memori yang lebih ringan secara langsung menghasilkan performa yang lebih lancar, masa pakai baterai yang lebih lama, dan pengalaman premium di semua faktor bentuk. Mari kita bangun masa depan yang lebih cepat dan lebih andal untuk ekosistem Android bersama-sama.

Pemicu pembuatan profil untuk anomali aplikasi

Android memperkenalkan layanan deteksi anomali di perangkat yang memantau perilaku yang menggunakan banyak resource dan potensi regresi kompatibilitas. Terintegrasi dengan ProfilingManager, layanan ini memungkinkan aplikasi Anda menerima artefak pembuatan profil yang dipicu oleh peristiwa tertentu yang terdeteksi sistem.

Gunakan pemicu TRIGGER_TYPE_ANOMALY untuk mendeteksi masalah performa sistem seperti panggilan binder yang berlebihan dan penggunaan memori yang berlebihan. Saat aplikasi melanggar batas memori yang ditentukan OS, pemicu anomali memungkinkan developer menerima heap dump khusus aplikasi untuk membantu mengidentifikasi dan memperbaiki masalah memori. Selain itu, untuk spam binder yang berlebihan, pemicu anomali menyediakan profil pengambilan sampel tumpukan pada transaksi binder.

Callback API ini terjadi sebelum penegakan yang diberlakukan sistem. Misalnya, callback ini dapat membantu developer mengumpulkan data debug sebelum aplikasi dihentikan oleh sistem karena melebihi batas memori. Untuk memahami cara menggunakan pemicu, lihat dokumentasi kami tentang pembuatan profil berbasis pemicu.

    val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<ProfilingTrigger>()  
    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 
    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)
}

Kriptografi Pasca-Kuantum (PQC) di Android Keystore

Android Keystore menambahkan dukungan untuk ML-DSA (Algoritma Tanda Tangan Digital Berbasis Modul-Lattice) yang distandardisasi NIST. Di perangkat yang didukung, Anda dapat membuat kunci ML-DSA dan menggunakannya untuk menghasilkan tanda tangan yang aman dari kuantum, sepenuhnya di hardware aman perangkat. Android Keystore mengekspos varian algoritma ML-DSA-65 dan ML-DSA-87 melalui API Java Cryptographic Architecture standar: KeyPairGeneratorKeyFactory, dan Signature. Untuk detail selengkapnya, lihat dokumentasi developer kami.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        ML-DSA-65, "AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                my-key-alias,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

Mulai menggunakan Android 17

Anda dapat mendaftarkan perangkat Pixel yang didukung untuk mendapatkan update Android Beta 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 Android Beta, Anda akan ditawari update over the air ke Beta 4.

Terus laporkan masalah dan kirim permintaan fitur di halaman masukan. Semakin awal kami mendapatkan masukan, 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:

  • Kompilasi terhadap SDK baru, uji di lingkungan CI, dan laporkan masalah apa pun di pelacak kami di halaman masukan.
  • Uji aplikasi Anda saat ini untuk kompatibilitas, pelajari apakah aplikasi Anda terpengaruh oleh perubahan di Android 17, dan 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 secara over the air untuk semua pratinjau dan Beta berikutnya.

Untuk informasi lengkap, buka situs developer Android 17.

Ikut berdiskusi

Masukan Anda tetap menjadi aset kami yang paling berharga. Baik Anda pengguna awal di saluran Canary atau developer aplikasi yang menguji di Beta 4, sebaiknya bergabunglah dengan komunitas kami dan kirimkan masukan. Kami mendengarkan.

Ditulis oleh:

Lanjutkan membaca