Baseline mPaaS versi lama mendukung targetSdkVersion hingga 26. Dukungan untuk targetSdkVersion 28 tersedia mulai dari versi mPaaS 10.1.68.21. Untuk meng-upgrade aplikasi Anda ke targetSdkVersion 28, gunakan mPaaS plugin guna memperbarui SDK ke versi 10.1.68.21 atau yang lebih baru. Setelah pembaruan, ikuti petunjuk dalam dokumen ini untuk menyesuaikan kode dan melakukan pengujian regresi.
Adaptasi untuk targetSdkVersion 28
Ubah targetSdkVersion
Metode integrasi AAR
Pada file build.gradle modul utama proyek, ubah properti `targetSdkVersion` menjadi 28.
Metode integrasi Portal & Bundle
Pada file
build.gradlemodul utama proyek Portal, ubah properti `targetSdkVersion` menjadi 28.targetSdkVersion pada proyek Bundle tidak perlu diubah, tetapi nilainya tidak boleh lebih tinggi daripada targetSdkVersion proyek Portal.
Konfigurasi umum
Metode integrasi AAR
Pada file AndroidManifest.xml proyek, tambahkan kode berikut di bawah node `application`:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>Metode integrasi Portal & Bundle
Pada file AndroidManifest.xml proyek Portal, lakukan perubahan berikut:
Tambahkan kode berikut di bawah node application:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>Hapus properti berikut dari LauncherActivity. SDK kini mengatur properti ini secara programatik.
android:screenOrientation="portrait"
Konfigurasi lainnya
Izinkan permintaan HTTP
Secara default, Android 9.0 dan versi yang lebih baru hanya mengizinkan Permintaan HTTPS. Menyetel targetSdkVersion ke 28 menerapkan pembatasan ini pada aplikasi Anda di perangkat yang menjalankan Android 9.0 atau lebih baru. Untuk mengirim permintaan HTTP, termasuk yang ada di miniapp, Anda harus mengaktifkannya dengan mengonfigurasi networkSecurityConfig.
Di direktori
res/xmlproyek Anda, buat filenetwork_security_config.xmldengan konten berikut. Untuk metode integrasi Portal & Bundle, buat file ini di proyek Portal.<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> </network-security-config>Pada file
AndroidManifest.xmlproyek Anda, tambahkan properti berikut ke node `application`. Untuk metode integrasi Portal & Bundle, lakukan perubahan pada file di proyek Portal.android:networkSecurityConfig="@xml/network_security_config"
Untuk informasi selengkapnya, lihat dokumentasi resmi Google.
Crash saat menyetel orientasi layar untuk activity dengan latar belakang transparan
Bagian ini membahas bug sistem di Android 8.0. Pada perangkat yang menjalankan Android 8.0, aplikasi akan crash jika targetSdkVersion-nya lebih tinggi dari 26 dan mencoba membuka activity yang memiliki latar belakang transparan sekaligus orientasi layar tetap. Kondisi spesifik yang memicu crash ini adalah:
Atribut
windowIsTranslucentatauwindowIsFloatingdari tema yang digunakan oleh Activity bernilai true.Atribut
screenOrientationdisetel diAndroidManifest.xml, atau metodesetRequestedOrientationdipanggil.
Periksa semua activity untuk melihat apakah memenuhi kondisi tersebut. Selain gaya (style) kustom Anda, perhatikan bahwa beberapa tema sistem umum juga memenuhi kondisi ini, seperti:
@android:style/Theme.Translucent.NoTitleBar
@android:style/Theme.DialogSolusi yang direkomendasikan:
Untuk Activity yang temanya memenuhi kondisi tersebut, hapus atribut
screenOrientationdiAndroidManifest.xmldan panggil metodesetRequestedOrientationsebagai gantinya.Override metode
setRequestedOrientationdi Activity terkait atau kelas induknya, dengan aturan dasartry catch super.setRequestedOrientation():@Override public void setRequestedOrientation(int requestedOrientation) { try { super.setRequestedOrientation(requestedOrientation); } catch (Exception ignore) { } }BaseActivity,BaseFragmentActivity, danBaseAppCompatActivtiyyang disediakan oleh mPaaS telah di-override, dengan metodesetRequestedOrientationsebagai aturan dasar.Workaround ini mencegah crash. Namun, penguncian orientasi layar mungkin tetap gagal pada perangkat Android 8.0. Pastikan Activity Anda tidak menyebabkan exception saat layar berputar, seperti restart siklus hidup yang mengakibatkan variabel anggota bernilai null.
Kode sumber sistem Android 8.0 terkait:

Pengujian regresi
Pengujian regresi lengkap Anda harus mencakup perangkat yang menjalankan Android 9.0 atau lebih baru. Untuk masalah crash yang melibatkan activity transparan, Anda harus melakukan pengujian khusus pada perangkat Android 8.0.
Selama pengujian regresi, perhatikan dengan cermat fitur komponen berikut jika Anda menggunakannya:
Komponen | Item validasi |
Mobile Gateway |
|
Scan |
|
Unified Storage |
|
Share | Periksa apakah berbagi ke Sina Weibo dan QQ berhasil. |