You need to enable JavaScript to run this app. Cordova Android升级compileSdkVersion至API 30构建APK咨询
优惠活动
大模型
产品
解决方案
定价
更多

Cordova Android升级compileSdkVersion至API 30构建APK咨询

解决方案

Cordova-Android 9 版本原生不支持在 config.xml 中直接配置 compileSdkVersion、buildToolsVersion 参数,这两个偏好配置是从 Cordova-Android 10.0.0 版本才开始正式支持的,你现有配置不生效属于版本特性限制,可选择以下任意一种方式实现API 30构建:

方案1:升级到cordova-android 10及以上版本(最推荐)

升级后你当前写在config.xml里的两个配置可以直接生效,不需要额外修改。升级命令:

cordova platform rm android
cordova platform add android@10

升级后直接正常构建即可调用你配置的API 30参数。

方案2:不升级cordova-android版本,手动修改平台构建配置

如果暂时不能升级版本,可以按以下步骤操作:

  • 第一步:先正常添加android平台 cordova platform add android@9
  • 第二步:打开项目路径 platforms/android/build.gradle 文件,找到以下变量修改为对应值:
    ext {
        buildToolsVersion = "30.0.3"
        compileSdkVersion = 30
        targetSdkVersion = 30 // 建议同步修改targetSdkVersion避免兼容性问题
    }
    
  • 第三步:直接构建APK即可生效

注意:该方案的修改会在你每次移除、重新添加android平台后失效,需要重新修改。

方案3:使用构建钩子实现自动修改(适合9版本长期使用)

你可以添加cordova构建钩子,在每次平台添加完成后自动替换build.gradle中的参数值,不需要每次手动修改:

  1. 在项目根目录新建hooks/after_platform_add/set_sdk_versions.js文件,写入以下代码:
const fs = require('fs');
const path = require('path');

module.exports = function(ctx) {
  const buildGradlePath = path.join(ctx.opts.projectRoot, 'platforms/android/build.gradle');
  let gradleContent = fs.readFileSync(buildGradlePath, 'utf8');
  
  gradleContent = gradleContent.replace(/buildToolsVersion\s*=\s*"[^"]+"/, 'buildToolsVersion = "30.0.3"');
  gradleContent = gradleContent.replace(/compileSdkVersion\s*=\s*\d+/, 'compileSdkVersion = 30');
  gradleContent = gradleContent.replace(/targetSdkVersion\s*=\s*\d+/, 'targetSdkVersion = 30');
  
  fs.writeFileSync(buildGradlePath, gradleContent, 'utf8');
}
  1. 给文件添加执行权限(Windows环境可跳过)
  2. 后续每次添加android平台都会自动修改对应参数,不需要手动操作。

内容的提问来源于stack exchange,提问作者user2313833

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 07:24:04