Lompat ke konten utama
Capacitor

Mengupdate dari Capacitor 4 ke Capacitor 5: Panduan Langkah demi Langkah

Pelajari cara mengupdate proyek Anda dari Capacitor 4 ke Capacitor 5 dengan perubahan yang minimal, termasuk mengupdate plugin resmi dan alat yang diperlukan.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Mengupdate dari Capacitor 4 ke Capacitor 5: Panduan Langkah demi Langkah

Dibandingkan 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 memecahkan plugin resmi.

Perhatian: Capacitor 5 memerlukan NodeJS 16 atau lebih tinggi, karena Node 12 telah mencapai akhir masa pakai dan Node 14 akan mencapai akhir masa pakai pada 30 April 2023. Disarankan untuk menggunakan versi LTS terbaru dari NodeJS.

  1. Pasang latest Versi dari Capacitor CLI di proyek Anda:

    npm i -D @capacitor/cli@latest
  2. Jalankan perintah berikut untuk membiarkan CLI mengelola migrasi:

    npx cap migrate

    Jika ada langkah migrasi yang tidak dapat dicapai, informasi tambahan akan disediakan dalam output terminal. Langkah migrasi manual tercantum di bawah ini.

  3. Jika Anda memiliki ekstensi VS Code terinstal, periksa bagian rekomendasi ekstensi untuk menemukan opsi untuk memigrasikan proyek Anda ke Capacitor 5.

Mengupgrade Capacitor 4 Proyek iOS ke Capacitor 5

  1. Mengupgrade Xcode: Capacitor 5 memerlukan Xcode 14.1+.

  2. Mengupdate .gitignore: Lakukan perubahan-perubahan berikut pada file: .gitignore Mengupdate Assets untuk menggunakan ikon aplikasi tunggal

    - App/Podfile.lock
    + App/output
  3. : Xcode 14 mendukung ikon aplikasi tunggal berukuran 1024x1024. Bersihkan AppIcon.appiconset Anda dengan menghapus semua ukuran yang tidak perlu.Mengupdate .gitignore

Mengupgrade Capacitor 4 Proyek Android ke Capacitor 5

  1. 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.

  2. Jalankan Asisten Upgrade AGP: Studio Android dapat membantu dengan beberapa update terkait Gradle dan memindahkan paket ke file build. Untuk memulai, jalankan Tools -> AGP Upgrade Assistant.

  3. Update Variabel Proyek Android: Dalam file Anda, update nilai-nilai Anda ke nilai baru minimum sebagai berikut: variables.gradle Update Layanan Google

    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'
  4. Update Plugin Gradle ke 8.0.0:

    # build.gradle
    dependencies {
    -       classpath 'com.google.gms:google-services:4.3.13'
    +       classpath 'com.google.gms:google-services:4.3.15'
    }
  5. Update 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'
    }
  6. Nonaktifkan Jetifier:

    # 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
  7. Disable Jetifier:

    # gradle.properties
    android.useAndroidX=true
    - android.enableJetifier=true
  8. Pindahkan paket ke 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
  9. Perbarui androidScheme : Dalam Capacitor 6, https akan menjadi pengaturan default untuk androidScheme untuk aplikasi yang sudah ada untuk memungkinkan aplikasi Capacitor menggunakan fitur Autofill sistem. Untuk menghindari kehilangan data sebagai hasil dari perubahan ini, atur scheme ke http saat ini, bahkan jika itu adalah pengaturan default saat ini.

    {
      server: {
        androidScheme: "http"
      }
    }
  10. Perbarui versi Kotlin: Jika proyek Anda menggunakan Kotlin, perbarui kotlin_version ke '1.8.20'.

Perubahan Fungsi Plugin

Fungsi plugin berikut telah diubah atau dihapus. Perbarui code Anda sesuai:

  • Tampilan Bantuan Aksi
  • Pengguna Browser
  • Kamera
  • Perangkat
  • Lokasi Geografis
  • Peta Google
  • Pemberitahuan Lokal
  • Pemberitahuan Push
  • Balkong Status

Buku Tindakan

  • Perbarui androidxMaterialVersion variabel ke 1.8.0.

Pengguna Browser

  • Perbarui variabel ke androidxBrowserVersion Untuk Android 13, tambahkan izin membaca gambar media ( 1.5.0.

) di

  • Perbarui variabel ke<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>Untuk Android 13, tambahkan izin membaca gambar media ( AndroidManifest.xml.
  • ) di androidxMaterialVersion Perbarui variabel ke 1.8.0.
  • Perangkat androidxExifInterfaceVersion Ubah ke 1.3.6.

ke

  • Ubah ke DeviceId.uuid ke DeviceId.identifier.
  • Pada iOS 16+ DeviceInfo.name akan mengembalikan nama perangkat umum kecuali Anda menambahkan hak istimewa yang tepat Geolocation.

Perbarui

  • ke playServicesLocationVersion Peta Google 21.0.1.

Perbarui variabel-variabel berikut:

  • ke
    • googleMapsPlayServicesVersion ke 18.1.0.
    • googleMapsUtilsVersion ke 3.4.0.
    • googleMapsKtxVersion ke 3.4.0.
    • googleMapsUtilsKtxVersion ke 3.4.0.
    • kotlinxCoroutinesVersion ke 1.6.4.
    • androidxCoreKTXVersion ke 1.10.0.
    • kotlin_version ke 1.8.20.

Pemberitahuan Lokal

  • Untuk Android 13, perlu dilakukan pengecekan izin runtime baru untuk mengatur pemberitahuan lokal ketika menghadapi SDK 33. Panggil checkPermissions() dan requestPermissions() sesuai.

Pemberitahuan Push

  • Untuk Android 13, perlu dilakukan pengecekan izin runtime baru untuk menerima pemberitahuan push ketika menghadapi SDK 33. Panggil checkPermissions() dan requestPermissions() sesuai.
  • Perbarui firebaseMessagingVersion variabel untuk 23.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 sudah 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.

Lanjutkan dari Updating dari Capacitor 4 ke Capacitor 5: Panduan Langkah demi Langkah

Jika Anda menggunakan Updating 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 Mengambah atau Mengupdate Plugin, Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic, dan Capgo Pembangunan Nativ untuk alur kerja produk di Capgo Pembangunan Nativ.

Live updates untuk Capacitor aplikasi

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.