cordova android 更新compileSDK版本

use*_*833 6 android cordova cordova-android

我是使用 cordova-android 构建 Android 应用程序的新手。

我在更新项目根目录的 config.xml 中的compileSdkVersion/buildToolsVersion 时遇到问题。

由于 cordova-android version-9 支持 api level 29,但由于 Android SDK API level 30 可用,cordova-android 尚未提供支持。

我尝试更新首选项compileSdkVersion/buildToolsVersion,如下所示在config.xml中

<?xml version='1.0' encoding='utf-8'?>
Run Code Online (Sandbox Code Playgroud) 我的第一个应用程序 测试应用程序 你的名字在这里

有人可以帮我更新以上两个属性,以便可以使用最新的 SDK API 级别 30 构建 apk。

bri*_*fit 10

Cordova 11.0.0 已发布,但要更新这个排名较高的问题,您必须将以下内容添加到 config.xml 中:

<preference name="android-minSdkVersion" value="19" />
<preference name="android-targetSdkVersion" value="31" />
<preference name="android-compileSdkVersion" value="31" />
Run Code Online (Sandbox Code Playgroud)

此外,针对 Android 12+ 的应用程序必须添加

android:exported="true" 
Run Code Online (Sandbox Code Playgroud)

清单中的所有活动和要求语句——我必须在几个地方手动添加它以适应旧的插件。


Rag*_*han 8

基于 Cordova 的要求和支持,当前cordova-android@9支持API 级别 29 及以下。我们预计下一个版本cordova-android@10可能会针对API 级别 30,并且可能需要等待Cordova团队的官方更新。 在此输入图像描述

在那之前我们可以玩一下from的夜间版本cordova-android@10npm

根据Google最近的截止日期,

2021 年 8 月 - 新应用必须至少面向 Android 11(API 级别 30)

2021 年 11 月 - 现有应用必须至少面向 Android 11(API 级别 30)才能进行新应用更新

所以我们可以等到八月才能得到官方更新:)。

解决方法:(
可能有效,也可能无效。在实际应用程序中实现之前,先在示例应用程序中使用它)

更改android-targetSdkVersionconfig.xml

<preference name="android-targetSdkVersion" value="30" />
Run Code Online (Sandbox Code Playgroud)

使用删除平台

cordova platform remove android
Run Code Online (Sandbox Code Playgroud)

然后添加最新的cordovaandroid版本:

cordova platform add android@latest
Run Code Online (Sandbox Code Playgroud)

构建项目:

cordova build android
Run Code Online (Sandbox Code Playgroud)

  • 上述方法没有升级到最新的android sdk版本(api级别30),因为cordova-android最新的官方版本是9.1.0,下面是它创建的gradle属性。`project.ext { defaultBuildToolsVersion="29.0.2" //String defaultMinSdkVersion=22 //整数 - 最低要求是 Android 5.1 defaultTargetSdkVersion=29 //整数 - 我们始终默认以最新版本为目标 defaultCompileSdkVersion=29 //整数 - 我们始终以最新版本为目标默认使用最新版本编译 }` (2认同)