从 Capacitor 4 升级到 Capacitor 5
与之前的升级相比,Capacitor 4 和 5 之间的破坏性变更非常少。在本指南中,您将找到将项目更新到当前 Capacitor 5 版本的步骤,以及官方插件破坏性变更的列表。
NodeJS 16+
Node 12 已停止支持。Node 14 将于 2023 年 4 月 30 日停止支持。Capacitor 5 需要 NodeJS 16 或更高版本。(建议使用最新的 LTS 版本。)
使用 CLI 迁移
将 Capacitor CLI 的 latest-5 版本安装到您的项目中:
npm i -D @capacitor/cli@latest-5
安装完成后,只需运行以下命令,CLI 就会为您处理迁移。
npx cap migrate
如果迁移的任何步骤无法完成,终端输出中会提供额外信息。手动迁移的步骤将在下方列出。
使用 VS Code 扩展进行迁移
如果您已安装 VS Code 扩展,只需查看扩展的推荐部分,即可找到将项目迁移到 Capacitor 5 的选项。
iOS
以下指南描述了如何将您的 Capacitor 4 iOS 项目升级到 Capacitor 5。
升级 Xcode
Capacitor 5 需要 Xcode 14.1+。
更新 .gitignore
对 .gitignore 文件进行以下更改:
- App/Podfile.lock
+ App/output
更新资源以使用单一应用图标
Xcode 14 支持 1024x1024 的单一应用图标,因此您可以通过移除所有不必要的尺寸来清理 AppIcon.appiconset。
![]()
Android
以下指南描述了如何将您的 Capacitor 4 Android 项目升级到 Capacitor 5。
升级 Android Studio
Capacitor 5 需要 Android Studio Flamingo | 2022.2.1 或更新版本,因为使用了 Gradle 8,而 Gradle 8 需要 Java JDK 17。Java 17 随 Android Studio Flamingo 一起提供。无需额外下载!
更新后,Android Studio 可以帮助处理与 gradle 相关的一些更新,并将包移动到构建文件中。首先,运行 工具 -> AGP 升级助手。

更新 Android 项目变量
在 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 服务
# 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