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.
-
__CAPGO_KEEP_0__
latestCapacitor CLI 프로젝트에 있는 Capacitor의 버전:npm i -D @capacitor/cli@latest -
CLI를 사용하여 마이그레이션을 처리하도록 하려면 다음 명령어를 실행하세요.
npx cap migrate마이그레이션 단계 중 일부가 달성되지 못한 경우, 터미널 출력에 추가 정보가 제공됩니다. 아래에 수동으로 수행해야 하는 마이그레이션 단계가 나열되어 있습니다.
-
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로 업그레이드하는 방법
-
Xcode 업그레이드:Capacitor 5는 Xcode 14.1 이상이 필요합니다.
-
.gitignore 업데이트:__CAPGO_KEEP_0__에 다음 변경 사항을 적용하세요.
.gitignore파일:- App/Podfile.lock + App/output -
Assets를 사용하는 단일 앱 아이콘으로 업데이트:Xcode 14은 1024x1024의 단일 앱 아이콘을 지원합니다. 불필요한 크기를 제거하여 AppIcon.appiconset를 정리하세요.
Upgrading Capacitor 4 Android Project to Capacitor 5
-
Android Studio 업그레이드: Capacitor 5는 Android Studio Flamingo | 2022.2.1 이상이 필요합니다. 이는 Gradle 8의 사용으로 인해 Java JDK 17이 필요하기 때문입니다. Java 17은 Android Studio Flamingo와 함께 제공되므로 별도의 다운로드가 필요하지 않습니다.
-
AGP 업그레이드 도우미 실행: Android Studio는 Gradle과 빌드 파일에 패키지를 이동하는 관련된 업데이트를 도와줄 수 있습니다. 시작하려면
Tools -> AGP Upgrade Assistant. -
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' -
Google Services 업데이트:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
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' } -
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 -
Jetifier 비활성화:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
패키지를 이동하세요
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 -
androidScheme을 업데이트: Capacitor 버전 6에서
https__CAPGO_KEEP_0__의 기본 설정으로androidSchemeCapacitor 앱을 위해 시스템 Autofill 기능을 사용할 수 있도록 기존 앱에 대해http이 변경으로 인해 데이터 손실을 피하기 위해 scheme을{ server: { androidScheme: "http" } } -
현재 기본 설정이더라도 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.
디바이스
- 변경
DeviceId.uuid으로DeviceId.identifier. - iOS 16+에서
DeviceInfo.name정확한 권한을 추가하지 않는다면 일반적인 장치 이름을 반환합니다..
위치 정보
- 업데이트
playServicesLocationVersion로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으로1.8.20.
로컬 알림
- SDK 33 버전을 대상으로 할 때 로컬 알림을 예약하기 위해 새로운 런타임 권한 검사를 호출해야 합니다.
checkPermissions()및requestPermissions()따라서.
푸시 알림
- SDK 33 버전을 대상으로 할 때 푸시 알림을 받기 위해 새로운 런타임 권한 검사를 호출해야 합니다.
checkPermissions()및requestPermissions()따라서. - 업데이트
firebaseMessagingVersion변수23.1.2.
상태 바
- iOS에서 기본 상태 바 애니메이션을 변경했습니다.
FADE.
code을 업데이트하고 Capacitor 4에서 Capacitor 5로 프로젝트를 업데이트하는 데 필요한 단계를 따르면, code을 업데이트한 후에 프로젝트가 성공적으로 업데이트되었는지 확인하기 위해 모든 기능과 플러그인이 예상대로 작동하는지 확인하기 위해 애플리케이션을 철저히 테스트하세요.