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

Cordova构建编译报错:<declare-styleable> FontFamilyFont找不到指定Android属性

解决Cordova构建报错:找不到android:fontVariationSettings和android:ttcIndex

我之前也碰到过一模一样的Cordova构建报错,折腾了好一阵才搞定,给你几个针对性的方案试试:

  • 检查并统一所有插件的支持库版本
    很多时候问题出在第三方插件上——有些插件会硬编码使用Android Support Library 28+的版本,哪怕你自己改了主项目的配置也没用。你需要遍历项目plugins目录下每个插件的plugin.xml文件,找到所有引用com.android.support:appcompat-v7(或AndroidX对应的androidx.appcompat:appcompat)的<framework>标签,把版本号改成27.x系列(比如27.1.1)。如果有插件混用了Support Library和AndroidX,建议统一换成AndroidX,同时安装cordova-plugin-androidx和cordova-plugin-androidx-adapter来自动适配旧插件。

  • 强制项目依赖版本统一
    插件之间的依赖版本不一致也会导致冲突,你可以在项目根目录的build.gradle文件中添加强制统一配置,确保所有依赖都用指定版本的支持库:

    configurations.all {
        resolutionStrategy {
            force 'com.android.support:appcompat-v7:27.1.1'
            force 'com.android.support:support-v4:27.1.1'
        }
    }
    

    配置完成后执行cordova clean,再重新构建项目。

  • 降级Cordova Android平台版本
    如果你当前使用的Cordova Android平台版本过高(比如9.0+),它默认会使用AndroidX或更高的SDK版本,容易和旧插件产生兼容性问题。可以尝试降级到更稳定的版本:

    cordova platform remove android
    cordova platform add android@8.1.0
    

    Android 8.1.0版本默认适配SDK 27,对大多数旧插件的兼容性更好。

  • 彻底清理缓存并重装插件
    缓存的旧依赖也可能导致奇怪的冲突,执行以下命令彻底清理后重新初始化项目:

    cordova clean
    rm -rf platforms/android
    rm -rf plugins
    rm package-lock.json
    npm install
    cordova prepare android
    

    之后再逐个添加你需要的插件,尽量选择官方维护或兼容性好的版本。

如果以上方法都没用,建议创建一个空白的Cordova项目,逐步添加插件并测试构建,这样能快速定位是哪个插件引发的问题。

内容的提问来源于stack exchange,提问作者SANGEETH KUMAR S G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:30:36