메인 콘텐츠로 건너뛰기
Capacitor

Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide

Learn how to update your project from Capacitor 4 to Capacitor 5 with minimal breaking changes, including updating official plugins and required tools.

기사 기여

마틴 도나디유

작가

발레리아

리뷰어

조던

Editor

Capacitor 4에서 Capacitor 5로 업데이트하는 방법: 단계별 안내

Capacitor 4에서 Capacitor 5로 업데이트하는 데에는 이전 업데이트와 비교하여 최소한의 깨진 변경 사항이 포함됩니다. 이 안내서에서는 Capacitor 5로 프로젝트를 업데이트하는 데 필요한 단계별 지침 및 공식 플러그인에 대한 깨진 변경 사항 목록을 제공합니다.

주의: Capacitor 5는 NodeJS 16 이상을 요구하며, Node 12은 종료되었으며 Node 14은 2023년 4월 30일 종료될 예정입니다. 최신 LTS 버전의 NodeJS를 사용하는 것을 권장합니다.

  1. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__의 latest Capacitor CLI의 __CAPGO_KEEP_2__ 버전을 프로젝트에 설치하세요.

    npm i -D @capacitor/cli@latest
  2. CLI가 마이그레이션을 처리하도록 하려면 다음 명령어를 실행하세요.

    npx cap migrate

    마이그레이션 단계 중 일부가 달성되지 못한 경우, 터미널 출력에 추가 정보가 제공됩니다. 수동 마이그레이션 단계는 아래에 나열되어 있습니다.

  3. VS Code 확장 프로그램이 설치되어 있다면, 확장 프로그램의 추천 섹션에서 프로젝트를 Capacitor 5로 마이그레이션하는 옵션을 찾을 수 있습니다.

Capacitor 4 iOS 프로젝트를 Capacitor 5로 업그레이드하는 방법

  1. Xcode 업그레이드: Capacitor 5는 Xcode 14.1 이상이 필요합니다.

  2. 업데이트 .gitignore: __CAPGO_KEEP_0__ 5의 변경 사항을 적용하세요. .gitignore 파일:

    - App/Podfile.lock
    + App/output
  3. 업데이트 Assets를 사용하여 단일 앱 아이콘을 사용하세요역할: 이미지 대체 텍스트. Seen in: component solutions/SolutionAppExample.astro. Message key `solution_app_examples_icon_alt` (Solution App Examples Icon Alt).

Upgrading Capacitor 4 Android Project to Capacitor 5

  1. __CAPGO_KEEP_0__ 4 Android Project을 __CAPGO_KEEP_1__ 5로 업그레이드하세요Capacitor 5는 Android Studio Flamingo | 2022.2.1 이상이 필요합니다. Gradle 8의 사용으로 인해 Java JDK 17이 필요합니다. Java 17은 Android Studio Flamingo와 함께 제공되므로 별도의 다운로드가 필요하지 않습니다.

  2. AGP 업그레이드 어시스턴트를 실행하세요: Android Studio는 Gradle과 패키지를 빌드 파일로 이동하는 관련된 업데이트를 도와줄 수 있습니다. 시작하려면 Tools -> AGP Upgrade Assistant.

  3. Android Project 변수를 업데이트하세요: __CAPGO_KEEP_0__에서 variables.gradle 파일에서, 값을 다음 새로운 최소값으로 업데이트하세요:

    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. 구글 서비스 업데이트:

    # build.gradle
    dependencies {
    -       classpath 'com.google.gms:google-services:4.3.13'
    +       classpath 'com.google.gms:google-services:4.3.15'
    }
  5. Gradle 플러그인을 8.0.0으로 업데이트:

    # build.gradle
    dependencies {
    -       classpath 'com.android.tools.build:gradle:7.2.1'
    +       classpath 'com.android.tools.build:gradle:8.0.0'
    }
  6. Gradle wrapper를 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
  7. Jetifier를 비활성화:

    # gradle.properties
    android.useAndroidX=true
    - android.enableJetifier=true
  8. 패키지를 __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
  9. androidScheme을 업데이트: Capacitor 6에서 https 이전 앱의 기본 설정으로 __CAPGO_KEEP_0__가 시스템의 Autofill 기능을 사용할 수 있도록 하기 위해 androidScheme 이 변경으로 인해 데이터 손실을 피하기 위해, scheme을 Capacitor로 설정하세요. http 현재 기본 설정이더라도.

    {
      server: {
        androidScheme: "http"
      }
    }
  10. 버전 업데이트: Kotlin을 사용하는 프로젝트가 있다면 Kotlin 버전을 업데이트 하세요. kotlin_version 변수 '1.8.20'.

기능 변경

다음의 플러그인 기능이 수정되거나 삭제되었습니다. code을 업데이트하세요.

  • 액션 시트
  • 브라우저
  • 카메라
  • 디바이스
  • 위치 정보
  • 구글 맵
  • 로컬 알림
  • 푸시 알림
  • 상태 표시줄

액션 시트

  • 업데이트 하기 androidxMaterialVersion 변수를 1.8.0.

브라우저

  • 업데이트 하기 androidxBrowserVersion 변수를 1.5.0.

카메라

  • Android 13에서 미디어 이미지 읽기 권한을 추가하십시오 (<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>)에서 AndroidManifest.xml.
  • 업데이트 하기 androidxMaterialVersion 변수에 1.8.0.
  • 업데이트를 androidxExifInterfaceVersion 변수에 1.3.6.

장치

  • 변경 DeviceId.uuid 로 DeviceId.identifier.
  • iOS 16+에서 DeviceInfo.name 일반적인 장치 이름이 반환될 것입니다. 따라서 적절한 권한을 추가해야 합니다. 위치 정보.

업데이트를

  • 로 playServicesLocationVersion live_update_dynamic_label_to 21.0.1.

Google Maps

  • 업데이트할 변수를 수정하세요:
    • googleMapsPlayServicesVersion 까지 18.1.0.
    • googleMapsUtilsVersion 까지 3.4.0.
    • googleMapsKtxVersion 까지 3.4.0.
    • googleMapsUtilsKtxVersion 까지 3.4.0.
    • kotlinxCoroutinesVersion 까지 1.6.4.
    • androidxCoreKTXVersion 까지 1.10.0.
    • kotlin_version Local Notifications 1.8.20.

Android 13에서 로컬 알림을 예약할 때 __CAPGO_KEEP_0__ 33을 대상으로 하려면 새로운 런타임 권한 검사를 호출해야 합니다.

  • For Android 13, a new runtime permission check is required to schedule local notifications when targeting SDK 33. Call checkPermissions() context requestPermissions() 따라서.

푸시 알림

  • 안드로이드 13을 대상으로 푸시 알림을 받으려면 SDK 33에서 새로운 런타임 권한 검사를 호출해야 합니다. checkPermissions() 그리고 requestPermissions() 따라서.
  • 업데이트 firebaseMessagingVersion __CAPGO_KEEP_0__ 23.1.2.

변수

  • __CAPGO_KEEP_0__ FADE.

By following these steps and updating your code accordingly, you should now have successfully updated your project from Capacitor 4 to Capacitor 5. Make sure to test your application thoroughly to ensure that all features and plugins are working as expected.

Keep going from Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide

이러한 단계를 따르고 __CAPGO_KEEP_0__를 업데이트하면 __CAPGO_KEEP_1__ 4에서 __CAPGO_KEEP_2__ 5로 프로젝트를 성공적으로 업데이트한 것으로 예상됩니다. 모든 기능과 플러그인이 예상대로 작동하는지 확인하기 위해 애플리케이션을 철저히 테스트하세요. Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide 자연 플러그인 작업을 계획하기 위해 연결하세요. Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트에서 구현 세부 정보 Ionic Enterprise 플러그인 대체 Ionic Enterprise 플러그인 대체에서 제품 워크플로우 Capgo Native Builds for the product workflow in Capgo Native Builds.

Capacitor 앱에 대한 실시간 업데이트

웹-layer 버그가 활성화되면 Capgo을 통해 픽스를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마세요. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경은 일반적인 검토 경로에 남아 있습니다.

마틴의 인간 지원

시작하기

최신 블로그

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.