cordova android 更新 compileSDK 版本
Posted
技术标签:
【中文标题】cordova android 更新 compileSDK 版本【英文标题】:cordova android updating compileSDK version 【发布时间】:2021-09-23 11:27:16 【问题描述】:我是使用 cordova-android 构建 android 应用程序的新手。
我在更新项目根目录的 config.xml 中的 compileSdkVersion/buildToolsVersion 时遇到问题。
cordova-android version-9 支持 api level 29,但 Android SDK API level 30 可用,cordova-android 仍未提供支持。
我尝试在 config.xml 中更新首选项 compileSdkVersion/buildToolsVersion,如下所示
<?xml version='1.0' encoding='utf-8'?>
我的第一个应用
测试应用
你的名字在这里
有人可以帮我更新以上两个属性,以便可以使用最新的 SDK API 级别 30 构建 apk。
【问题讨论】:
【参考方案1】:基于 Cordova requirements and support,当前 cordova-android@9
支持 API 级别 29 及以下。我们可以预计,下一个版本 cordova-android@10
可能会针对 API 级别 30,并且可能需要等待 Cordova
团队的官方更新。
在那之前,我们可以使用来自
npm
的nightly version ofcordova-android@10
根据Google最近的截止日期,
2021 年 8 月 - 新应用必须至少面向 Android 11(API 级别 30)
2021 年 11 月 - 现有应用必须至少面向 Android 11(API 30 级)用于新应用更新
所以我们可以等到 8 月的官方更新 :)。
解决方法:(可能有效,也可能无效。在示例应用程序中使用它,然后在实际应用程序中实施)
在 config.xml 上更改 android-targetSdkVersion
<preference name="android-targetSdkVersion" value="30" />
使用删除平台
cordova platform remove android
然后添加最新的cordova
android 版本:
cordova platform add android@latest
构建项目:
cordova build android
【讨论】:
上述方法没有升级到最新的android sdk版本(api level 30),因为cordova-android最新的官方版本是9.1.0以下是它创建的gradle属性。project.ext defaultBuildToolsVersion="29.0.2" //String defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1 defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
正如我在回答中所说,解决方法可能有效,也可能无效。您需要等待 cordova 10 版本才能进一步更新它们。你试过nightly
版本吗?【参考方案2】:
在您的 config.xml 中添加/更新 targetSdk 版本到 30,如下所示。
<preference name="android-targetSdkVersion" value="30" />
以上命令会将 targetSdk 版本更改为 30
删除平台android并使用以下命令添加回来
cordova platform add android@10.0.0
以上命令会将 compileSdk 版本更新为 30。如果未完成此步骤,它将提供与添加平台时可用的任何版本相同的值。
还要确保您拥有最新的 sdk 并安装了构建工具以正确执行命令。
【讨论】:
有没有办法在 packages.json 或 config.xml 上强制使用 cordova-android 10? 是的,@paulloya 您也可以在 package.json 和 package-lock.json 中定义 "cordova-android": "10.0.0"。但是您仍然应该始终运行命令 cordova platform add android@10.0.0 如果它没有在 package.json 或 lock.json 中添加/更新条目,那么只能手动执行以上是关于cordova android 更新 compileSDK 版本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中更新 Cordova 版本
Ionic 3:更新到 cordova-android 9 后无法从驱动器中选择文件
Ionic 3:更新 Cordova 等后无法构建 Android
使用 nodejs 8、angularjs、ionic3、cordova8 更新 cordova-android 6 到 9、cordova-ios 5 到 6