Perbandingan dengan pembaruan sebelumnya, transisi dari Capacitor 4 ke Capacitor 5 melibatkan perubahan yang minimal. Panduan ini menyediakan instruksi langkah demi langkah untuk mengupdate proyek Anda ke Capacitor 5, serta daftar perubahan yang memecah untuk plugin resmi.
Catatan: Capacitor 5 memerlukan NodeJS 16 atau lebih tinggi, karena Node 12 telah mencapai akhir masa pakainya dan Node 14 akan mencapai akhir masa pakainya pada tanggal 30 April 2023. Dianjurkan untuk menggunakan versi LTS terbaru dari NodeJS.
-
Pasang
latestVersi dari Capacitor CLI di proyek Anda:npm i -D @capacitor/cli@latest -
Jalankan perintah berikut untuk membiarkan CLI mengelola migrasi:
npx cap migrateJika langkah migrasi tertentu tidak dapat dicapai, informasi tambahan akan disediakan dalam output terminal. Langkah migrasi manual tercantum di bawah ini.
-
Jika Anda telah menginstal ekstensi VS Code, periksa bagian rekomendasi ekstensi untuk menemukan opsi untuk memigrasikan proyek Anda ke Capacitor 5.
Migrasi Proyek iOS dari Capacitor 4 ke Capacitor 5
-
Upgrade Xcode: Capacitor 5 memerlukan Xcode 14.1+.
-
Perbarui .gitignore: Lakukan perubahan berikut pada file:
.gitignorefile:- App/Podfile.lock + App/output -
Ubah Asset untuk menggunakan ikon aplikasi tunggalXcode 14 mendukung ikon aplikasi tunggal berukuran 1024x1024. Bersihkan AppIcon.appiconset Anda dengan menghapus semua ukuran yang tidak perlu.
Mengupgrade Projek Android dari Capacitor 4 ke Capacitor 5
-
Upgrade Studio Android: Capacitor 5 memerlukan Studio Android Flamingo | 2022.2.1 atau lebih baru karena penggunaan Gradle 8, yang memerlukan JDK Java 17. Java 17 dilengkapi dengan Studio Android Flamingo, sehingga tidak perlu download tambahan.
-
Jalankan Asisten Perbarui AGP: Studio Android dapat membantu dengan beberapa perubahan terkait Gradle dan memindahkan paket ke file build. Untuk memulai, jalankan
Tools -> AGP Upgrade Assistant. -
Perbarui Variabel Projek Android:Dalam versi Anda
variables.gradlefile, perbarui nilai-nilai Anda ke nilai minimum baru sebagai berikut:minSdkVersion = 22 compileSdkVersion = 33 targetSdkVersion = 33 androidxActivityVersion = '1.7.0' androidxAppCompatVersion = '1.6.1' androidxCoordinatorLayoutVersion = '1.2.0' androidxCoreVersion = '1.10.0' androidxFragmentVersion = '1.5.6' coreSplashScreenVersion = '1.0.0' androidxWebkitVersion = '1.6.1' junitVersion = '4.13.2' androidxJunitVersion = '1.1.5' androidxEspressoCoreVersion = '3.5.1' cordovaAndroidVersion = '10.1.1' -
Update Google Services:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
Perbarui Penggabung Gradle ke 8.0.2:
# build.gradle dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.0.0' } -
Perbarui Pengaturan Gradle wrapper menjadi 8.0.2:
# gradle-wrapper.properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists - distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip + distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -
Pindahkan paket ke:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
__CAPGO_KEEP_0__
build.gradle:# AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> - <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="[YOUR_PACKAGE_ID]"> + <manifest xmlns:android="http://schemas.android.com/apk/res/android"># build.gradle android { + namespace "[YOUR_PACKAGE_ID]" compileSdkVersion rootProject.ext.compileSdkVersion -
Perbarui androidScheme: Di Capacitor 6,
httpsakan menjadi pengaturan default untukandroidSchemeuntuk aplikasi yang sudah ada untuk memungkinkan aplikasi Capacitor menggunakan fitur Autofill sistem. Untuk menghindari kehilangan data sebagai hasil dari perubahan ini, atur scheme kehttpsekarang, bahkan jika itu sudah default saat ini.{ server: { androidScheme: "http" } } -
Perbarui versi Kotlin: Jika proyek Anda menggunakan Kotlin, perbarui
kotlin_versionke'1.8.20'.
Pengaturan Perubahan Fungsi Plugin
Berikut ini adalah pengaturan fungsi plugin yang telah diubah atau dihapus. Perbarui code Anda sesuai:
- Papan Aksi
- Pengguna Web
- Kamera
- Perangkat
- Lokasi
- Peta Google
- Pemberitahuan Lokal
- Pemberitahuan Push
- Status Bari
Sheet Aksi
- Perbarui
androidxMaterialVersionvariabel ke1.8.0.
Browser
- Perbarui
androidxBrowserVersionmengubah ke1.5.0.
Kamera
- Untuk Android 13, tambahkan izin membaca gambar media (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) diAndroidManifest.xml. - Perbarui
androidxMaterialVersionmengubah ke1.8.0. - Perbarui
androidxExifInterfaceVersionmengubah ke1.3.6.
Ponsel
- Ganti
DeviceId.uuidkeDeviceId.identifier. - Di iOS 16+,
DeviceInfo.nameakan mengembalikan nama perangkat umum kecuali Anda menambahkan hak yang sesuai hak istimewa.
Geolokasi
- Perbarui
playServicesLocationVersionke21.0.1.
Peta Google
- Perbarui variabel-variabel berikut:
googleMapsPlayServicesVersionke18.1.0.googleMapsUtilsVersionke3.4.0.googleMapsKtxVersionke3.4.0.googleMapsUtilsKtxVersionke3.4.0.kotlinxCoroutinesVersionke1.6.4.androidxCoreKTXVersionke1.10.0.kotlin_versionke1.8.20.
Notifikasi Lokal
- Untuk Android 13, perlu dilakukan pengecekan izin runtime baru untuk mengatur notifikasi lokal ketika menghadapi SDK 33. Panggil
checkPermissions()danrequestPermissions()sesuai dengan
Notifikasi Push
- Untuk Android 13, perlu dilakukan pengecekan izin runtime baru untuk menerima notifikasi push ketika menghadapi SDK 33. Panggil
checkPermissions()danrequestPermissions()sesuai dengan - perbarui
firebaseMessagingVersionke23.1.2.
Status Bar
- Pada iOS, animasi status bar bawaan telah berubah menjadi
FADE.
Dengan mengikuti langkah-langkah ini dan memperbarui code Anda sesuai, Anda seharusnya telah berhasil memperbarui proyek Anda dari Capacitor 4 ke Capacitor 5. Pastikan untuk menguji aplikasi Anda secara menyeluruh untuk memastikan bahwa semua fitur dan plugin berfungsi seperti yang diharapkan.
Teruskan dari Mengupdate dari Capacitor 4 ke Capacitor 5: Panduan Langkah demi Langkah
Jika Anda menggunakan Mengupdate dari Capacitor 4 ke Capacitor 5: Panduan Langkah demi Langkah untuk merencanakan kerja plugin native, hubungkannya dengan Capgo Direktori Plugin untuk alur kerja produk di Capgo Direktori Plugin, Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo, Mengambah atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, Alternatif Plugin Enterprise Ionic, untuk alur produk di Alternatif Plugin Enterprise Ionic, dan Capgo Pembangunan Natively, untuk alur produk di Capgo Pembangunan Natively.