You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle依赖更新后Cordova Android构建失败求助

解决Cordova构建Android时Support库版本冲突导致的aapt报错问题

这个问题我之前帮朋友排查过,核心原因就是Android Support库版本和你的TargetSDKVersion不兼容。你指定的TargetSDK是25,但Gradle自动拉了27.0.0的Support库——而android:font、android:fontStyle、android:fontWeight这些属性是API 26(Android 8.0)才新增的,27.0.0的Support库依赖了这些高版本特性,自然会和TargetSDK25冲突,导致aapt编译失败。

给你几个具体的解决思路,按顺序尝试:

  • 强制锁定Support库版本与TargetSDK匹配
    打开项目根目录下的platforms/android/build.gradle文件,在文件末尾添加以下Gradle配置,强制所有Support库使用与TargetSDK25兼容的25.4.0版本:

    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:25.4.0'
            force 'com.android.support:appcompat-v7:25.4.0'
            // 如果项目用到了其他Support库(比如design、recyclerview等),也需要在这里强制指定25.4.0版本
        }
    }
    

    这段配置会覆盖Gradle自动选择的高版本依赖,确保所有Support库版本和TargetSDK保持一致。

  • 排查插件的依赖冲突
    有些Cordova插件会在自身的plugin.xml里硬编码高版本的Support库依赖,导致Gradle冲突。你可以先执行cordova plugin list查看已安装的插件,然后进入plugins/[插件名称]/目录,打开plugin.xml检查是否有类似<framework src="com.android.support:appcompat-v7:27.0.0" />的配置。如果有,把版本号改成25.4.0,或者更换该插件的兼容版本,甚至移除非必需的冲突插件。

  • 调整Gradle版本适配旧SDK
    你的JDK8配置是没问题的,但高版本Gradle(比如5.x及以上)对旧版Android SDK的支持可能有问题。可以打开platforms/android/gradle/wrapper/gradle-wrapper.properties,把distributionUrl修改为兼容的Gradle 4.x版本:

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
    
  • 清理缓存后重新构建
    最后执行清理命令清除旧的构建缓存和文件,再重新构建:

    cordova clean android
    cordova build android
    

如果之后你打算升级TargetSDK到27或更高版本,这些android:font相关属性就可以正常使用了,但当前为了适配TargetSDK25,必须保证Support库版本与TargetSDK严格匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:13:18