Android 17 telah Hadir

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

Hari ini kami merilis Android 17 dan menyediakannya di sebagian besar perangkat Pixel yang didukung. Cari perangkat baru yang menjalankan Android 17 dalam beberapa bulan mendatang.

AfD-Android-17.gif

Android 17 menandai dimulainya transisi kami ke sistem kecerdasan, yang menempatkan aplikasi Anda sebagai pusatnya. Android beralih ke standar pengembangan yang mengutamakan adaptasi dengan memperkenalkan kemampuan pengubahan ukuran layar besar yang wajib, sekaligus menghadirkan privasi, keamanan, media, kamera, dan performa generasi berikutnya. Kami akan membahas semuanya dalam postingan ini, serta cara kami menyatukan alat, library, dan keterampilan agen generasi berikutnya untuk membantu aplikasi Anda memanfaatkan peluang ini.

Selama setahun terakhir, mulai dari saluran Canary hingga rilis Beta, kami telah berkolaborasi dengan banyak dari Anda di komunitas developer untuk membangun platform yang dapat dipercaya oleh Anda dan pengguna Anda. Untuk itu, momen ini menandai ketersediaan kode sumber di Android Open Source Project (AOSP). Dengan demikian, Anda dapat memeriksa kode sumber untuk mendapatkan pemahaman yang lebih mendalam tentang cara kerja Android.

Mari kita pelajari Android 17 lebih dalam.

Sistem intelijen

Dengan integrasi yang mendalam antara hardware, software, dan AI, kami mengubah Android dari sistem operasi menjadi sistem kecerdasan. Tujuannya adalah memberikan pengalaman baru yang bermanfaat dan mengantisipasi kebutuhan pengguna, serta menghadirkan lebih banyak peluang untuk berinteraksi dengan aplikasi Anda. Untuk itu, Android 17 memperluas kemampuan AppFunctions, API platform dengan library Jetpack yang sesuai. Hal ini memungkinkan Anda menyumbangkan kemampuan unik aplikasi sebagai "alat" yang dapat diatur untuk MCP Android, yang setara dengan Model Context Protocol di perangkat. Agen dan asisten AI (seperti Google Gemini) dapat menemukan dan menjalankan AppFunctions untuk melakukan alur kerja atas nama pengguna dengan akses langsung ke status lokal aplikasi.

Library Jetpack, yang saat ini dalam versi alfa, memudahkan penambahan AppFunction seperti menganotasi class dan menambahkan komentar KDoc. 

/**
 *   A note app's [AppFunction]s.
 */
class NoteFunctions(
    private val noteRepository: NoteRepository
) {
    /**
     *   Adds a new note to the app.
     *
     *   @param appFunctionContext The execution context.
     *   @param title The title of the note.
     *   @param content The note's content.
     */
    @AppFunction(isDescribedByKDoc = true)
    suspend fun createNote(
        appFunctionContext: AppFunctionContext,
        title: String,
        content: String
    ): Note {
        return noteRepository.createNote(title, content)
    }
}

Kami juga telah meluncurkan keterampilan agen AppFunctions yang menganalisis alur kerja utama aplikasi Anda, otomatis membuat kode Kotlin yang diperlukan, mengoptimalkan KDocs untuk panggilan alat LLM, dan menyediakan perintah ADB untuk pengujian dan proses debug.

Integrasi Gemini saat ini dalam pratinjau pribadi dengan penguji tepercaya, tetapi Anda dapat mulai menyiapkan aplikasi Anda sekarang. Selain perintah ADB untuk mengeksekusi AppFunction, kami telah menyediakan aplikasi agen pengujian yang menyertakan antarmuka untuk menemukan dan mengeksekusi AppFunction Anda serta menyimulasikan integrasi agen AI. Bergabunglah dengan program akses awal integrasi kami di goo.gle/eap-af untuk mendapatkan kesempatan menjadi salah satu aplikasi pertama yang men-deploy AppFunctions ke produksi.

Berbasis adaptif

Pengguna Anda tidak lagi mengandalkan satu faktor bentuk; mereka beralih antara ponsel, perangkat foldable, tablet, laptop, layar otomotif, dan lingkungan XR imersif. Sekarang, dengan lebih dari 580 juta perangkat layar besar di tangan pengguna dan peluncuran Google Buku yang akan datang, ChromeOS generasi berikutnya yang dibangun di stack Android, adaptif tidak lagi hanya menjadi tujuan teknis. Ini adalah peluang besar untuk menjangkau pengguna yang sangat aktif, yang merupakan salah satu alasan kami beralih ke standar pengembangan yang mengutamakan adaptasi.

Tidak ada batasan perubahan ukuran/orientasi di layar besar

Untuk memastikan aplikasi memberikan pengalaman premium di semua faktor bentuk, termasuk perangkat seluler yang berjalan dalam mode desktop di layar yang terhubung, Android 17 (level API 37) menghapus penonaktifan developer untuk pembatasan orientasi dan perubahan ukuran di perangkat layar besar (sw > 600 dp) untuk aplikasi yang menargetkan level API 37. Sistem akan mengabaikan atribut manifes lama dan API runtime, termasuk screenOrientationsetRequestedOrientation()resizeableActivity=false, dan batasan rasio aspek (minAspectRatio/maxAspectRatio). Game (berdasarkan kategori aplikasi di Google Play) tetap dikecualikan. Aplikasi Anda harus siap beradaptasi dengan ukuran jendela apa pun, menghormati postur perangkat pilihan pengguna, dan mendukung jendela bentuk bebas secara native.

Multitasking generasi berikutnya: Balon Aplikasi, Bubble Bar, dan PiP interaktif desktop

Android 17 memperkenalkan kemampuan tampilan baru yang canggih yang mengubah cara pengguna melakukan multitasking, sehingga menuntut fleksibilitas tata letak yang lebih besar dari aplikasi Anda:

  • Balon Aplikasi: Selain API balon pesan, pengguna kini dapat mengubah aplikasi apa pun menjadi balon mengambang dengan menekan lama ikonnya di peluncur. Fitur ini tersedia di seluruh ponsel, perangkat foldable, dan tablet, sehingga memungkinkan multitasking ringan untuk alur kerja apa pun.
  • Bubble Bar: Di layar besar (tablet dan perangkat foldable), taskbar sistem kini menyertakan Bubble Bar khusus untuk mengatur, bertransisi antar-, dan menyematkan balon aplikasi mengambang ini.
  • PiP interaktif desktop: Di lingkungan desktop, Android 17 memperkenalkan Picture-in-Picture (PiP) interaktif. Tidak seperti jendela PiP tradisional yang hanya dapat dibaca, jendela yang disematkan ini tetap sepenuhnya interaktif sekaligus selalu berada di atas jendela aplikasi lain.
Bubbles (1).gif
Balon Aplikasi dan Bubble Bar sedang digunakan

Pembaruan pembuatan ulang aktivitas

Untuk mencegah kehilangan status dan gangguan yang mengganggu, Android 17 memperbarui perilaku default untuk pembuatan ulang Aktivitas. Sistem tidak akan lagi memulai ulang aktivitas secara default untuk perubahan konfigurasi umum yang tidak memerlukan penggambaran ulang UI secara penuh (termasuk CONFIG_KEYBOARDCONFIG_KEYBOARD_HIDDENCONFIG_NAVIGATIONCONFIG_TOUCHSCREEN, dan CONFIG_COLOR_MODE).

Sebagai gantinya, aktivitas yang sedang berjalan akan menerima update ini melalui onConfigurationChanged(), sehingga memungkinkan transisi yang lancar. Jika aplikasi Anda secara eksplisit mengandalkan mulai ulang penuh untuk memuat ulang resource untuk perubahan ini, Anda kini harus memilih ikut serta secara eksplisit menggunakan atribut manifes android:recreateOnConfigChanges yang baru.

Lanjutkan Di

Android 17 menambahkan fitur Lanjutkan di untuk membantu pengguna melakukan transisi tugas dengan lancar antar-perangkat Android. Pengguna melihat saran untuk aplikasi yang terakhir dibuka dari perangkat seluler di panel tugas tablet, yang memberikan kemudahan sekali ketuk untuk meluncurkan aplikasi dan deep link ke tempat terakhir pengguna berhenti. Lanjutkan di dapat mendukung transisi aplikasi ke web, termasuk melakukan penggantian ke penggunaan web jika aplikasi tidak diinstal.

Lanjutkan.png
Saran Pengalihan di Tablet
class MyHandoffActivity : Activity() {

    ...

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Do stuff
    ...
    // Enable handoff
    setHandoffEnabled(true, null)
  }

  // Override and implement onHandoffActivityDataRequested
  override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
    // Create and return handoff data
  }
}

Menggunakan pendekatan adaptif terlebih dahulu dengan Jetpack Compose

Untuk membantu Anda menyesuaikan aplikasi agar memenuhi persyaratan Android 17 baru, kami telah meluncurkan keterampilan adaptif Jetpack Compose. Alur kerja developer yang didukung AI ini membantu Anda menerapkan praktik adaptif terbaik:

  • Navigasi adaptif: Otomatis melakukan transisi antara panel navigasi bawah di perangkat seluler dan panel navigasi yang di-anchor di tepi pada layar besar menggunakan NavigationSuiteScaffold dari library Adaptif Material 3.
  • Tata letak multi-panel: Terapkan tata letak daftar-detail dan panel pendukung secara native menggunakan Scene Navigation 3 (ListDetailSceneStrategy dan SupportingPaneSceneStrategy) dan bukan transaksi fragmen yang rentan.
  • API FlexBox & Grid: Manfaatkan komponen tata letak dinamis Compose 1.11 untuk menyesuaikan rentang baris dan kolom dengan mudah secara langsung, sehingga konten Anda selalu mengisi ruang dengan indah.
  • Input non-sentuh lanjutan: Manfaatkan dukungan trackpad dan mouse yang ditingkatkan di Compose 1.11, termasuk ring fokus native dan API baru (seperti TrackpadInjectionScope dan performTrackpadInput) untuk menguji dan memberikan pengalaman "kelas laptop" yang sebenarnya di Google Books dan Mode Desktop dengan mudah.
  • Status jendela dinamis: Manfaatkan model status reaktif Compose untuk menyesuaikan UI Anda dengan lancar saat aplikasi bertransisi dari layar penuh ke Bubble Aplikasi mengambang atau jendela PiP Desktop interaktif, sehingga memastikan pengalaman premium bahkan pada dimensi minimal.

Android mengutamakan Compose

Compose menawarkan cara termudah untuk membuat aplikasi adaptif, dan itu hanyalah salah satu dari banyak alasan kami yakin bahwa semua UI Android harus dibuat dengan Compose. Untuk itu, pengembangan Android kini mengutamakan Compose. Semua API, library, alat, dan panduan developer Android baru akan dibuat secara eksklusif untuk Jetpack Compose. Komponen View lama (dalam paket android.widget) dan library Jetpack berbasis View (seperti FragmentsRecyclerView, dan ViewPager) kini dalam mode pemeliharaan. Komponen tersebut hanya akan menerima perbaikan bug penting, dan tidak ada fitur baru.


TIPS Siap bermigrasi? Gunakan Keterampilan Migrasi XML ke Compose yang didukung AI untuk menganalisis tata letak View lama Anda secara otomatis dan mengonversinya menjadi kode Compose yang sangat adaptif.


Performa & efisiensi

Performa aplikasi berarti antarmuka pengguna yang lancar, waktu mulai aplikasi yang cepat, dan multitasking yang efisien; Android 17 memiliki peningkatan yang signifikan di semua area ini. 

Batas memori aplikasi

Penggunaan memori adalah salah satu fondasi tersembunyi dari performa keseluruhan. Jika aplikasi atau layanan latar depan berkembang tanpa terkendali, pengelolaan memori akan meningkatkan penggunaan CPU dan baterai, dan pada akhirnya menyebabkan penghentian aplikasi yang di-cache dan tugas latar belakang lainnya yang berperilaku baik, yang pada akhirnya memaksa cold start yang lebih lambat dan multitasking yang terganggu. 

Mulai Android 17, sistem akan menerapkan batasan memori aplikasi yang ketat berdasarkan total RAM perangkat, dan menghentikan proses yang bermasalah secara tiba-tiba. Berikut hal-hal baru yang akan membantu Anda memenuhi persyaratan yang lebih ketat ini:

  • Pengoptimal R8: Pengoptimal R8 secara signifikan mengurangi jejak memori bytecode aplikasi Anda dengan menyusutkan class, metode, dan kolom menjadi nama yang lebih pendek, serta menghapus kode dan resource yang tidak digunakan. Gunakan R8 dalam mode penuh bersama dengan penganalisis konfigurasi R8 baru untuk memastikan aplikasi Anda mendapatkan manfaat maksimal dari R8.
R8 Configuration Analyzer.png
Penganalisis Konfigurasi R8
  • LeakCanary di Android Studio Panda: Profiler kini menampilkan integrasi LeakCanary native sebagai tugas khusus, yang terintegrasi sepenuhnya dengan IDE dan kode sumber Anda.
  • ApplicationExitInfo: Jika aplikasi Anda dihentikan karena batas ini, getDescription() dari ApplicationExitInfo akan menampilkan "MemoryLimiter:AnonSwap".
  • Deteksi Anomali di Perangkat: Sebagai bagian dari ProfilingManager, Anda dapat memanfaatkan pembuatan profil berbasis pemicu menggunakan TRIGGER_TYPE_ANOMALY untuk otomatis merekam dump heap saat batas memori tercapai.
val profilingManager = applicationContext
   .getSystemService(ProfilingManager::class.java)

val triggers = ArrayList<ProfilingTrigger>().apply {
  add(ProfilingTrigger.Builder(
    ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build())
}
profilingManager.addProfilingTriggers(triggers)

Selain itu, kami berupaya menampilkan lebih banyak metrik memori di lapangan kepada Anda dalam Konsol Google Play.

Pembersihan sampah memori generasional

Android 17 memperkenalkan pengumpulan sampah memori generasi muda yang lebih sering dan tidak terlalu membebani resource ke pengumpul sampah memori Mark-Compact Serentak (GC) ART. Dengan memisahkan objek yang berumur pendek dari objek yang stabil dan berumur panjang, sistem menjalankan pembersihan "generasi muda" yang sering dan ringan, bukan pemindaian heap penuh yang mahal, sehingga secara drastis mengurangi penggunaan CPU, pengurasan daya, dan gangguan UI. Pengujian kami telah menunjukkan peningkatan signifikan dalam gangguan GC dengan thread aplikasi dan pengurangan ukuran set residen memori (RSS) maksimum. 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.

MessageQueue Bebas Kunci

Untuk aplikasi yang menargetkan SDK 37 atau yang lebih tinggi, android.os.MessageQueue inti kini menerapkan arsitektur bebas kunci, yang secara signifikan mengurangi frame yang terlewat, meningkatkan waktu peluncuran aplikasi, dan meningkatkan performa antrean yang sibuk secara radikal dalam skenario multithread. Catatan: Hal ini dapat merusak aplikasi yang menggunakan refleksi pada kolom dan metode MessageQueue pribadi.  API peekWhen dan poll telah ditambahkan ke TestLooperManager untuk pengujian instrumentasi tanpa mengandalkan MessageQueue internal. 

Kolom final statis kini benar-benar final

Mulai dari Android 17, aplikasi yang menargetkan SDK 37 atau yang lebih tinggi tidak akan dapat mengubah kolom “static final”, sehingga runtime dapat menerapkan pengoptimalan performa secara lebih agresif. Upaya untuk melakukannya melalui refleksi (atau refleksi mendalam) akan menyebabkan IllegalAccessException ditampilkan. 

Memodifikasinya melalui keluarga metode SetStatic<Type>Field JNI akan segera menyebabkan aplikasi error.

Pembatasan tampilan notifikasi kustom

Untuk mengurangi penggunaan memori, kami lebih 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.

Privasi & Keamanan

Menjaga kepercayaan pengguna adalah inti dari ekosistem Android. Android 17 memperkenalkan fitur andal yang melindungi data sensitif sekaligus menyederhanakan pengalaman pengguna.

Pilihan yang menjaga privasi

Sebelumnya, aplikasi memerlukan izin yang luas dan permanen untuk mengakses informasi seperti kontak, lokasi presisi, dan file media. Android 17 melanjutkan peralihan ke pilihan yang menjaga privasi yang hanya memberikan akses sementara berbasis sesi ke data yang dipilih secara eksplisit oleh pengguna:

  • Pemilih Kontak Tingkat Sistem: Dengan memanfaatkan ACTION_PICK_CONTACTS, aplikasi dapat meminta akses sementara hanya ke kolom tertentu (misalnya, email atau nomor telepon) yang dipilih oleh pengguna, sehingga tidak memerlukan izin READ_CONTACTS yang luas. Perangkat ini juga sepenuhnya mendukung pemisahan profil kerja/pribadi.
  • Rasio aspek Pemilih Foto yang dapat disesuaikan: Dengan PhotoPickerUiCustomizationParams, Anda dapat menyesuaikan pemilih foto sistem untuk menampilkan thumbnail dalam mode potret. Ini sangat cocok untuk aplikasi yang selalu menampilkan foto dan video dalam orientasi potret seperti aplikasi media sosial berbasis video.
  • Tombol Lokasi yang Dirender Sistem: Tombol lokasi yang dirender sistem baru yang dapat Anda sematkan di aplikasi Anda memberikan akses lokasi presisi hanya untuk sesi saat ini.
  • EyeDropper API: API tingkat sistem baru, ACTION_OPEN_EYE_DROPPER, memungkinkan aplikasi Anda membuat pipet yang didukung sistem sehingga pengguna dapat memilih warna dari piksel mana pun di layar. Hal ini memberikan pengalaman memilih warna yang aman dan menjaga privasi yang menghilangkan kebutuhan akan izin pengambilan screenshot atau proyeksi media yang luas dan 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)
}
Penguji Penetes.webp
Memilih warna dari mana saja di layar dengan EyeDropper sistem

Akses jaringan lokal

Aplikasi yang menargetkan Android 17 kini memerlukan izin runtime ACCESS_LOCAL_NETWORK atau penggunaan pemilih perangkat yang dimediasi sistem dan menjaga privasi untuk komunikasi jaringan lokal, seperti berkomunikasi dengan perangkat smart home atau receiver transmisi. Karena ACCESS_LOCAL_NETWORK termasuk dalam grup izin NEARBY_DEVICES yang ada, pengguna yang telah memberikan izin NEARBY_DEVICES lainnya tidak akan diminta lagi. 

Perlindungan OTP SMS

Android 17 memperluas perlindungan sandi untuk satu kali (OTP) SMS dengan menunda akses ke pesan SMS selama tiga jam:

Pengecualian: Aplikasi pendamping yang terhubung, asisten, dan SMS default dikecualikan. Aplikasi sangat dianjurkan untuk bermigrasi ke API SMS Retriever atau Izin Pengguna SMS.

Kriptografi Pasca-Kuantum (PQC)

Android 17 siap untuk keamanan kriptografi generasi berikutnya:

  • Integrasi Keystore: Perangkat yang didukung dapat membuat kunci ML-DSA (Module-Lattice-Based Digital Signature Algorithm) di hardware yang aman untuk menghasilkan tanda tangan quantum-safe, yang diekspos melalui API JCA standar.
  • Penandatanganan APK Hybrid: Memperkenalkan APK Signature Scheme v3.2, yang menggabungkan tanda tangan klasik dengan tanda tangan ML-DSA untuk mengamankan pengiriman aplikasi.

Pemuatan kode dinamis native yang lebih aman

Jika aplikasi Anda menargetkan SDK 37 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.

Perlindungan sandi yang lebih cerdas untuk input fisik

Dengan Android 17, kami membuat entri sandi, PIN, dan rahasia lainnya menjadi lebih aman saat menggunakan keyboard fisik dengan tidak lagi menampilkan karakter terakhir yang diketik secara default.

Pengguna masih dapat dengan mudah menyesuaikan setelan tampilan ini agar sesuai dengan preferensi mereka (ketersediaan dapat bervariasi menurut produsen perangkat).

Perlindungan privasi yang ditingkatkan ini didukung secara otomatis oleh komponen SDK bawaan Android dan akan didukung di Compose 1.12 untuk SecureTextFields
 

Sembunyikan Huruf Pertama.gif
Perlindungan sandi yang lebih cerdas untuk input fisik

Fitur media dan kamera yang memberdayakan kreator dan memuaskan pengguna

Android 17 memperkenalkan fitur kreator baru yang memberikan akses ke kamera dan media berkualitas profesional, sekaligus meningkatkan pengalaman bagi konsumen.

  • Eclipsa Video: Standar video HDR yang dibuat berdasarkan spesifikasi SMPTE ST 2094-50 yang memperkenalkan metadata baru untuk membantu perangkat menyesuaikan konten dengan headroom tampilan dan kondisi cahaya sekitar, serta meningkatkan tampilan simultan konten standar dan HDR.
  • Format gambar RAW14: Dukungan baru untuk format gambar RAW14 memberikan cara bagi aplikasi kamera profesional Anda untuk menangkap tingkat detail dan kedalaman warna tertinggi dari sensor kamera yang kompatibel.
  • Ekstensi kamera yang ditentukan vendor: Ekstensi yang ditentukan vendor memungkinkan partner hardware menentukan dan menerapkan mode ekstensi kamera kustom, sehingga memberikan akses ke fitur kamera terbaik dan terbaru.
  • Encoder software HE-AAC yang diperluas: Encoder software HE-AAC baru yang disediakan sistem, mendukung kecepatan bit rendah dan tinggi menggunakan coding audio dan ucapan yang terpadu, sehingga memberikan kualitas audio yang jauh lebih baik untuk pesan suara dalam kondisi bandwidth rendah, termasuk dukungan untuk metadata keras suara.
  • Versatile Video Coding (H.266):  Memungkinkan OEM menambahkan dukungan codec dengan menentukan jenis MIME video/vvc di MediaFormat, menambahkan profil VVC baru di MediaCodecInfo, dan mengintegrasikan dukungan ke MediaExtractor.
  • Jenis perangkat kamera: API baru yang mengkueri jenis perangkat pokok untuk mengidentifikasi apakah kamera adalah hardware bawaan, webcam USB eksternal, atau kamera virtual.
  • Kualitas Konstan untuk Perekaman Video: setVideoEncodingQuality di MediaRecorder mengonfigurasi mode kualitas konstan (CQ) untuk encoder video guna memastikan kesetiaan visual yang seragam di seluruh video.

Dukungan yang lebih baik untuk alat bantu dengar

  • Dukungan alat bantu dengar Bluetooth LE Audio: Android kini menyertakan kategori perangkat khusus untuk alat bantu dengar Bluetooth Hemat Energi (BLE) Audio dengan konstanta AudioDeviceInfo.TYPE_BLE_HEARING_AID baru, sehingga aplikasi Anda dapat membedakan alat bantu dengar dari headset biasa untuk memberikan pengalaman yang disesuaikan bagi pengguna dengan perangkat pendengaran bantu.
  • Perutean audio terperinci untuk alat bantu dengar: Android 17 memungkinkan pengguna mengelola secara mandiri tempat suara sistem tertentu diputar. Pengguna dapat memilih untuk mengalihkan notifikasi, nada dering, dan alarm ke alat bantu dengar yang terhubung atau speaker bawaan perangkat, sehingga membantu menghindari gangguan yang tidak diinginkan di telinga sekaligus mempertahankan koneksi Bluetooth untuk aplikasi pengelolaan alat bantu dengar.

CameraX dan  Media3

CameraX dan Media3 telah diupdate untuk Android 17. Mereka hadir untuk melakukan tugas berat, memperlancar pengembangan media yang rumit dan menyederhanakan pembuatan pengambilan gambar kamera yang andal,  pemutaran media yang lancar, serta pengalaman pengeditan yang kreatif dan kompleks. 

Kami telah merilis keterampilan agen yang dapat memigrasikan implementasi kamera Android lama (Camera1 atau raw Camera2 API) ke CameraX.  

Catatan: Anda harus mengupdate versi CameraX ke 1.5.2 atau 1.6.0+ untuk menghindari error terkait mode rentang dinamis yang ditambahkan di perangkat Android 17.

Siapkan aplikasi, library, alat, dan game engine Anda.

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

Pengujian melibatkan penginstalan aplikasi produksi atau aplikasi pengujian yang menggunakan library atau mesin Anda menggunakan Google Play atau cara lain ke perangkat atau emulator yang menjalankan Android 17 Beta 4. Jelajahi 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 memengaruhi aplikasi untuk aplikasi yang berjalan di dan menargetkan Android 17 untuk memfokuskan pengujian Anda, termasuk yang berikut:

  • Perubahan ukuran di layar besar: Setelah menargetkan Android 17 (SDK 37), 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 SDK 37 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 mengaktifkannya.)
  • Perlindungan jaringan lokal: Aplikasi yang menargetkan SDK 37 atau yang lebih tinggi diblokir akses jaringan lokalnya 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 selama penggunaan penegakan FGS dan pengecualian audio alarm. Detail lengkapnya tersedia di panduan yang diperbarui.
  • Pernyataan akses NPU: Aplikasi yang menargetkan Android 17 yang perlu mengakses NPU secara langsung harus mendeklarasikan  FEATURE_NEURAL_PROCESSING_UNIT dalam manifesnya agar tidak diblokir untuk mengakses NPU. Hal ini mencakup aplikasi yang menggunakan delegasi NPU LiteRT, SDK khusus vendor, serta NNAPI yang tidak digunakan lagi.

Mulai menggunakan Android 17

Perangkat Pixel Anda akan segera mendapatkan Android 17 jika Anda belum menggunakan Android Beta. Jika tidak memiliki perangkat Pixel, Anda dapat menggunakan image sistem 64-bit dengan Android Emulator di Android Studio. Jika saat ini Anda menggunakan Android 17 Beta 4.1 dan belum menggunakan Android 17 QPR1 Beta, Anda dapat keluar dari program dan Anda akan ditawari versi rilis Android 17 melalui OTA.

Mendapatkan Android 17 Beta di perangkat partner

Android 17 tersedia dalam versi beta di faktor bentuk handset, tablet, dan perangkat foldable dari partner termasuk Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, Sharp, vivo, dan Xiaomi.

android-17-beta-partners.jpg

Untuk mendapatkan pengalaman pengembangan terbaik dengan Android 17, sebaiknya gunakan build Canary terbaru Android Studio Quail. Setelah Anda menyiapkan akun, berikut beberapa hal yang harus Anda lakukan:

Sekali lagi, terima kasih kepada semua orang yang berpartisipasi dalam program pratinjau dan beta developer Android kami. Kami ingin melihat bagaimana aplikasi Anda memanfaatkan update di Android 17, dan berencana untuk memberikan update dengan ritme rilis yang cepat ke depannya.

Untuk informasi lengkap tentang Android 17, buka situs developer Android 17.

Ditulis oleh:

Lanjutkan membaca