Android 9 (API level 28) memperkenalkan berbagai fitur dan API baru
yang bisa Anda manfaatkan dalam aplikasi, serta beberapa perubahan
perilaku. Dokumen ini memberi Anda ringkasan langkah-langkah untuk
melakukan migrasi aplikasi ke Android 9 melalui dua tahapan utama:
Anda juga bisa download citra sistem Android 9 untuk Android Emulator. Citra sistem ini dicantumkan di SDK Manager dalam Android 9 sebagai Google APIs Intel x86 Atom System Image.
Akan tetapi, ada aspek lain pada pengujian: Android 9 memperkenalkan beberapa perubahan pada platform Android yang bisa memengaruhi perilaku aplikasi Anda atau menghentikan aplikasi sama sekali, sekalipun Anda tidak mengubah
Untuk daftar perubahan perilaku selengkapnya bagi semua aplikasi yang berjalan di Android 9, lihat dokumen Perubahan Perilaku.
Sebagai tambahan untuk menawarkan API baru kepada Anda, Android 9 memperkenalkan beberapa perubahan perilaku bila Anda melakukan update
Untuk melakukan persiapan dengan versi Android Studio apa pun, ikuti langkah-langkah yang didokumentasikan dalam Menyiapkan SDK Pratinjau.
Ketika Anda build aplikasi dengan
Tabel 2 menyediakan daftar perubahan ini bersama link ke informasi selengkapnya.
Untuk daftar perubahan perilaku yang lebih lengkap bagi aplikasi yang menargetkan Android 9, lihat dokumen Perubahan Perilaku.
Untuk mendalami berbagai fitur dan API baru yang tersedia di Android 9, lihat Fitur dan API Android 9.
- Pastikan kompatibilitas dasar dengan Android 9
Verifikasi bahwa aplikasi yang ada berfungsi sepenuhnya pada
platform versi baru. Pada tahap ini, Anda tidak menggunakan API baru
atau mengubah
targetSdkVersion
aplikasi, tetapi mungkin diperlukan perubahan kecil.
- Targetkan platform baru, kompilasi dengan Android 9 SDK, dan build dengan fitur Android 9
Bila Anda siap untuk memanfaatkan berbagai fitur baru di platform ini, update
targetSdkVersion
ke28
, verifikasi bahwa aplikasi tetap berfungsi sebagaimana diharapkan, kemudian mulai menggunakan API baru.
Menyiapkan perangkat yang menjalankan Android 9
Jika Anda memiliki perangkat yang kompatibel, dapatkan citra sistem Android 9 untuk perangkat Anda dari produsen; klik di sini untuk citra sistem setelan pabrik bagi perangkat Pixel. Petunjuk umum untuk mem-flash citra sistem ada di sini.Anda juga bisa download citra sistem Android 9 untuk Android Emulator. Citra sistem ini dicantumkan di SDK Manager dalam Android 9 sebagai Google APIs Intel x86 Atom System Image.
Catatan: Citra sistem emulator Android 9 bisa didownload di Android Studio 3.1 dan yang lebih tinggi; Android Studio 3.2 memberikan kompatibilitas maksimum. Untuk informasi selengkapnya, lihat Mendapatkan Android 9 SDK.
Memastikan kompatibilitas dengan Android 9
Yang menjadi sasaran di sini adalah memastikan bahwa aplikasi lama berfungsi apa adanya di Android 9. Karena sebagian perubahan platform mungkin memengaruhi cara perilaku aplikasi, beberapa penyesuaian mungkin diperlukan, tetapi Anda tidak perlu menggunakan API baru atau mengubahtargetSdkVersion
.Melakukan pengujian kompatibilitas
Secara umum, menguji kompatibilitas dengan Android 9 memerlukan tipe pengujian yang sama dengan yang Anda lakukan saat menyiapkan rilis aplikasi. Inilah waktu yang bagus untuk meninjau Panduan Kualitas Aplikasi Inti dan Praktik Terbaik untuk Pengujian.Akan tetapi, ada aspek lain pada pengujian: Android 9 memperkenalkan beberapa perubahan pada platform Android yang bisa memengaruhi perilaku aplikasi Anda atau menghentikan aplikasi sama sekali, sekalipun Anda tidak mengubah
targetSdkVersion
. Karena alasan inilah Anda
perlu meninjau beberapa perubahan utama dalam tabel 1, dan menguji semua
perbaikan yang Anda implementasikan untuk mengakomodasi perubahan
tersebut.Perubahan | Ikhtisar |
---|---|
Pembatasan pada antarmuka non-SDK |
Akses ke antarmuka non-SDK tertentu sekarang diblokir, baik
melalui akses langsung, melalui JNI, atau melalui refleksi. Upaya untuk
mengakses antarmuka yang dibatasi akan menghasilkan error seperti NoSuchFieldException dan NoSuchMethodException . Lihat Pembatasan pada Antarmuka Non-SDK untuk detailnya.
|
Penghapusan penyedia Crypto |
Mulai Android 9, penyedia Crypto JCA telah dihapus. Panggilan ke SecureRandom. akan melontarkan NoSuchProviderException .
|
Dekoder UTF-8 yang lebih ketat | Di Android 9, dekoder UTF-8 untuk bahasa Java lebih ketat dan mengikuti standar Unicode. |
Pemblokiran akses ke kamera, mikrofon, dan sensor untuk aplikasi yang tidak aktif | Saat tidak aktif, aplikasi tidak bisa lagi mengakses kamera, mikrofon, atau sensor SensorManager. |
Mengupdate versi target Anda dan menggunakan fitur Android P
Bagian ini menjelaskan cara mengaktifkan dukungan penuh bagi Android 9 dengan mengupdatetargetSdkVersion
ke 28 dan menambahkan fitur baru yang tersedia di Android 9.Sebagai tambahan untuk menawarkan API baru kepada Anda, Android 9 memperkenalkan beberapa perubahan perilaku bila Anda melakukan update
targetSdkVersion
ke 28. Karena beberapa perubahan perilaku mungkin memerlukan perubahan
kode untuk menghindari kerusakan, pertama-tama Anda harus memahami
bagaimana aplikasi mungkin saja terpengaruh saat Anda mengubah targetSdkVersion
dengan meninjau semua perubahan perilaku untuk aplikasi yang menargetkan Android 9.
Catatan: Langkah-langkah yang dijelaskan di atas untuk memastikan kompatibilitas platform
adalah prasyarat guna menargetkan aplikasi Anda ke Android 9, jadi
pastikan untuk menyelesaikan langkah-langkah tersebut terlebih dahulu.
Dapatkan Android 9 SDK
Anda bisa mendapatkan package SDK untuk build aplikasi Anda dengan Android 9 menggunakan Android Studio 3.1 atau yang lebih tinggi. Jika Anda belum memerlukan fitur-fitur baru di Android 9, dan hanya ingin melakukan kompilasi terhadap versi platform ini, Anda bisa menggunakan Android Studio 3.1. Android Studio 3.2 menyediakan dukungan lengkap untuk fitur Android 9.Untuk melakukan persiapan dengan versi Android Studio apa pun, ikuti langkah-langkah yang didokumentasikan dalam Menyiapkan SDK Pratinjau.
Menguji aplikasi Android 9 Anda
Setelah semua persiapan di atas selesai, Anda bisa build aplikasi kemudian mengujinya lebih jauh untuk memastikannya berfungsi dengan benar saat menargetkan Android 9 (API level 28). Inilah waktu lain yang bagus untuk meninjau Panduan Kualitas Aplikasi Inti dan Praktik Terbaik untuk Pengujian.Ketika Anda build aplikasi dengan
targetSdkVersion
disetel
ke P, ada beberapa perubahan platform spesifik yang harus Anda ketahui.
Sebagian dari perubahan ini bisa sangat memengaruhi perilaku aplikasi
Anda atau bahkan menghentikannya sama sekali, sekalipun Anda tidak
mengimplementasikan fitur baru di Android 9.Tabel 2 menyediakan daftar perubahan ini bersama link ke informasi selengkapnya.
Perubahan | Ikhtisar | ||
---|---|---|---|
Izin layanan latar depan | Aplikasi yang ingin menggunakan layanan latar depan sekarang harus meminta izin FOREGROUND_SERVICE terlebih dahulu. Ini adalah izin normal, jadi sistem secara otomatis memberikannya ke aplikasi yang meminta. Memulai layanan latar depan tanpa izin akan memunculkan SecurityException. | ||
Penghentian cipher Bouncy Castle |
Android 9 menghentikan sejumlah cipher dari penyedia Bouncy Castle
dan menggunakan cipher yang disediakan oleh penyedia Conscrypt.
Panggilan ke getInstance() yang meminta penyedia Bouncy Castle akan menghasilkan error NoSuchAlgorithmException . Untuk mengatasi error ini, jangan menetapkan provider di getInstance() (dengan kata lain, minta implementasi default).
|
||
Penghapusan akses langsung ke Build.
|
Aplikasi yang membutuhkan ID Build.serial sekarang harus meminta izin READ_PHONE_STATE kemudian menggunakan metode Build. baru yang ditambahkan dalam Android 9.
|
||
Pelarangan berbagi direktori data WebView | Aplikasi tidak lagi bisa berbagi satu direktori data WebView antar proses. Bila aplikasi Anda memiliki lebih dari satu proses yang menggunakan WebView, CookieManager, atau API lainnya dalam package android.webkit, aplikasi Anda akan error ketika proses kedua memanggil metode WebView. | ||
Akses ke direktori data aplikasi diblokir oleh SELinux | Sistem memberlakukan sandbox SELinux per-aplikasi dengan pembatasan SELinux per-aplikasi pada setiap direktori data pribadi aplikasi. Mengakses langsung direktori data aplikasi lain menggunakan lokasi sekarang tidak diizinkan. Aplikasi dapat terus berbagi data menggunakan mekanisme IPC, termasuk dengan meneruskan FD. |
Untuk daftar perubahan perilaku yang lebih lengkap bagi aplikasi yang menargetkan Android 9, lihat dokumen Perubahan Perilaku.
Untuk mendalami berbagai fitur dan API baru yang tersedia di Android 9, lihat Fitur dan API Android 9.
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Source :
Melakukan Migrasi Aplikasi ke Android 9
No comments:
Post a Comment