본문으로 이동
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의 버전을 확인하세요:

    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 업데이트:: 프로젝트의 다음 변경 사항을 적용하세요: .gitignore 파일:

    - App/Podfile.lock
    + App/output
  3. 앱 아이콘을 단일 아이콘으로 업데이트하세요:: 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 서비스 업데이트:

    # 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. Move package to 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. Update androidSchemeCapacitor 버전 6에서 : https __CAPGO_KEEP_0__의 기본 설정으로 androidScheme Capacitor 앱을 위해 기존 앱을 Capacitor을 사용하여 시스템의 Autofill 기능을 사용할 수 있도록 하기 위해 http 데이터 손실을 피하기 위해 scheme을

    {
      server: {
        androidScheme: "http"
      }
    }
  10. 현재 기본 설정으로도 Update Kotlin version kotlin_version __CAPGO_KEEP_0__ 프로젝트가 Kotlin을 사용하는 경우 '1.8.20'.

변수에

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

  • 다음 플러그인은 수정되거나 제거되었습니다. __CAPGO_KEEP_0__을 업데이트하십시오:
  • 브라우저
  • 카메라
  • 장치
  • 위치 정보
  • 구글 맵
  • 지역 알림
  • 푸시 알림
  • 상태 바

액션 시트

  • 업데이트 하기 androidxMaterialVersion __CAPGO_KEEP_0__ 1.8.0.

__CAPGO_KEEP_1__

  • Update the androidxBrowserVersion variable to 1.5.0.

카메라

  • 안드로이드 13에서 미디어 이미지 읽기 권한 (<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>)을 추가하세요. AndroidManifest.xml.
  • Update the androidxMaterialVersion variable to 1.8.0.
  • 변수 androidxExifInterfaceVersion 변수 1.3.6.

변수

  • 디바이스 DeviceId.uuid 변경 DeviceId.identifier.
  • iOS 16+에서 DeviceInfo.name 는 일반적인 장치 이름을 반환할 것입니다. 해당 권한을 추가하지 않으면 .

Geolocation

  • 업데이트하십시오. 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.

Local Notifications

  • Android 13 버전에서 SDK 33. Call을 대상으로 로컬 알림을 예약하려면 새로운 런타임 권한 검사를 호출해야 합니다. Call checkPermissions() 그리고 requestPermissions() 따라서.

Push 알림

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

상태 바

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

code을 업데이트하는 단계를 따르면 Capacitor 4에서 Capacitor 5로 프로젝트를 성공적으로 업데이트한 것으로 생각합니다. Capacitor 4에서 Capacitor 5로 업데이트한 후에 프로젝트를 철저히 테스트하여 모든 기능과 플러그인이 예상대로 작동하는지 확인하세요.

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

__CAPGO_KEEP_0__ 4에서 __CAPGO_KEEP_1__ 5로 업데이트하는 방법: 단계별 안내 Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide __CAPGO_KEEP_0__ 4에서 __CAPGO_KEEP_1__ 5로 업데이트하는 방법: 단계별 안내 Capgo와 연결하여 Capgo 플러그인 디렉토리 Capacitor Plugins by Capgo Capacitor 플러그인들에 의해 Capgo으로 관리됩니다. Capacitor 플러그인들에 의해 Capgo으로 관리되는 구현 세부 사항은 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트 구현 세부 사항에 대해 아이오닉 엔터프라이즈 플러그인 대체 아이오닉 엔터프라이즈 플러그인 제품 워크플로에 대해 Capgo 네이티브 빌드 Capgo 네이티브 빌드 제품 워크플로에 대해

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

웹-layer 버그가 활성화된 경우 Capgo을 통해修정을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 말고.

시작하기

블로그에서 최신 소식

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