본문으로 이동
Capacitor

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

Capacitor 4에서 Capacitor 5로 업데이트하여 최소한의 중단 변경으로 프로젝트를 업데이트하는 방법을 알아보세요. 이 업데이트에서는 공식 플러그인 및 필수 도구의 업데이트도 포함됩니다.

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

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

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

주의: Capacitor 5 requires NodeJS 16 or higher, as Node 12 has reached end-of-life and Node 14 will reach end-of-life on April 30th, 2023. It is recommended to use the latest LTS version of NodeJS.

  1. __CAPGO_KEEP_0__ latest Capacitor CLI 프로젝트에 있는 Capacitor의 버전:

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

    npx cap migrate

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

  3. If you have the VS Code extension installed, check the recommendations section of the extension to find the option to migrate your project to Capacitor 5.

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

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

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

    - App/Podfile.lock
    + App/output
  3. Assets를 사용하는 단일 앱 아이콘으로 업데이트:Xcode 14은 1024x1024의 단일 앱 아이콘을 지원합니다. 불필요한 크기를 제거하여 AppIcon.appiconset를 정리하세요.

Upgrading Capacitor 4 Android Project to Capacitor 5

  1. Android Studio 업그레이드: 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 프로젝트 변수 업데이트: __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. Google Services 업데이트:

    # 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. 패키지를 이동하세요 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__의 기본 설정으로 androidScheme Capacitor 앱을 위해 시스템 Autofill 기능을 사용할 수 있도록 기존 앱에 대해 http 이 변경으로 인해 데이터 손실을 피하기 위해 scheme을

    {
      server: {
        androidScheme: "http"
      }
    }
  10. 현재 기본 설정이더라도 Kotlin 버전을 업데이트 kotlin_version : 프로젝트가 Kotlin을 사용하는 경우 '1.8.20'.

__CAPGO_KEEP_0__ 변수를

The following plugin functionality has been modified or removed. Update your code accordingly:

  • __CAPGO_KEEP_0__을 업데이트하십시오:
  • 브라우저
  • 카메라
  • 장치
  • 위치 정보
  • 구글 맵
  • 지역 알림
  • 푸시 알림
  • 상태 바

액션 시트

  • 업데이트 하기 androidxMaterialVersion __CAPGO_KEEP_0__ 1.8.0.

브라우저

  • 업데이트 하세요. androidxBrowserVersion __CAPGO_KEEP_0__을 1.5.0.

카메라

  • Android 13에서 미디어 이미지 읽기 권한 (<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>)을 AndroidManifest.xml.
  • 업데이트 하세요. androidxMaterialVersion __CAPGO_KEEP_0__을 1.8.0.
  • 업데이트 하세요. androidxExifInterfaceVersion __CAPGO_KEEP_0__을 1.3.6.

디바이스

위치 정보

  • 업데이트 playServicesLocationVersion21.0.1.

Google Maps로

  • 다음 변수를 업데이트하세요:
    • googleMapsPlayServicesVersion18.1.0.
    • googleMapsUtilsVersion3.4.0.
    • googleMapsKtxVersion3.4.0.
    • googleMapsUtilsKtxVersion3.4.0.
    • kotlinxCoroutinesVersion 으로 1.6.4.
    • androidxCoreKTXVersion 으로 1.10.0.
    • kotlin_version 으로 1.8.20.

로컬 알림

  • SDK 33 버전을 대상으로 할 때 로컬 알림을 예약하기 위해 새로운 런타임 권한 검사를 호출해야 합니다. checkPermissions()requestPermissions() 따라서.

푸시 알림

  • SDK 33 버전을 대상으로 할 때 푸시 알림을 받기 위해 새로운 런타임 권한 검사를 호출해야 합니다. checkPermissions()requestPermissions() 따라서.
  • 업데이트 firebaseMessagingVersion 변수 23.1.2.

상태 바

  • iOS에서 기본 상태 바 애니메이션을 변경했습니다. FADE.

code을 업데이트하고 Capacitor 4에서 Capacitor 5로 프로젝트를 업데이트하는 데 필요한 단계를 따르면, code을 업데이트한 후에 프로젝트가 성공적으로 업데이트되었는지 확인하기 위해 모든 기능과 플러그인이 예상대로 작동하는지 확인하기 위해 애플리케이션을 철저히 테스트하세요.

실시간 업데이트 Capacitor 앱

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

시작하기

최신 블로그 글

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