Error:In declare-styleable FontFamilyFont, unable to find attribute android:font

news/2024/5/20 2:17:36 标签: bug, gradle, 查看库依赖

今天在Android Stuido重新编译项目,结果发现居然build failed!报的错如下:

Error:In <declare-styleable> FontFamilyFont, unable to find attribute android:font
Error:In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex
Error:In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
Error:Execution failed for task ':ehframelibrary:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

这是什么情况啊!!!
那就问一下万能的大神吧,有说是:compileSdkVersion 和buildToolsVersion 的版本太低了,把这两个的版本改成最新的。关键是,我的这个项目都维护了将近一年了,怎么会突然出现这种情况呢?
我的项目中的compileSdkVersion和buildToolsVersion版本分别是:

compileSdkVersion 25
buildToolsVersion '25.0.2'

在没有什么思路的情况下,就先把compileSdkVersion 和buildToolsVersion提升到27和“27.0.3”吧(根据一篇参考博文进行设置),结果还是不行,还是报下面的错误:

Error:In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings

看来还是没有解决问题。

找到原因

直到后面看到这篇文章,我才明白我的情况是怎么回事。
这篇文章分析的思路,及解决的办法给我很大的参考。
产生上面一系列Error的原因是项目中support-v4有重复。
检查自己依赖的第三方库,都已经指定了support-v4包的版本号:25.1.1。然后检查Android Stuido的External Libraries列表中发现support-v4包居然有28.0.0-alphal1。至此,终于明白是第三方库的依赖引进的。
这里写图片描述

查看库依赖">查看库依赖

在Android Stuido中切换到Terminal中输入:

gradle :app:dependencies --configuration compile

如果输入上面的命令报错的话,请参考下面的文章:
Android studio 如何查看 library 间的依赖关系
gradle环境变量配置
这里写图片描述
最终发现是WheelPicker这个三方库依赖了support-v4:latest.release,由此导致了上面Error的产生。

解决办法

剔除三方库中的support-v4包:

compile('cn.qqtheme.framework:WheelPicker:1.4.2') { exclude group: 'com.android.support' }

至此世界终于清静了。。。

bug解决errorin-fontfamilyfont-unable-to-find-attribute-xxx">感谢Adam289的文章,文章地址:最新安卓9.0(Android P) 引起的Bug解决:Error:In FontFamilyFont, unable to find attribute xxx


http://www.niftyadmin.cn/n/1723529.html

相关文章

gradle构建多渠道包(多applicationId,多图标,多app名称)

如何利用同一套代码&#xff0c;要打包不同applicationId&#xff0c;不同图标&#xff0c;不同包名&#xff0c;不同启动页等&#xff1f;此时就需要用到构建神器-gradle。 先上代码 ... def releaseTime() {return new Date().format("yyyy-MM-dd", TimeZone.get…

keepalived+mysql主从环境,keepalived返回值是RST,需求解决方法?

环境描述: mysql版本5.6.37 keepalived-1.2.19 系统centos 7&#xff1a;3.10.0-514.26.2.el7 web是&#xff1a;windows server 2012 IIS mysql部署了主从&#xff0c;使用keepalived做高可用&#xff0c;防止数据库故障。web中连接数据库使用了keepalived的VIP地址…

Android水波纹(ripple)点击效果

近日看到某些文章讲水波纹点击效果&#xff0c;使用该效果可以增加用户的体验效果&#xff0c;故看了一下网上文章并做记录。 一、如何使用 1、水波纹效果适用于API21以上&#xff0c;使用的话&#xff0c;需要设置drawable-v21文件夹。 2、具体使用就是在平时使用的drawabl…

云时代架构阅读笔记七——Maven 核心概念与理论

原文链接&#xff1a;https://mp.weixin.qq.com/s/iRufBIJM02eqfr0pwzKMog /artifactId/maven-metadata.xml&#xff0c;将其与本地仓库的对应元数据合并后&#xff0c;计算出RELEASE或者LASTEST的真实值&#xff0c;然后基于真实值检查本地和远程仓库&#xff1b; 如果依赖版本…

RecyclerView设置分割线(自定义宽度与颜色)

RecyclerView自出现后&#xff0c;越来越受到欢迎&#xff0c;源自其强大的扩展性。网上关于RecyclerView用法的文章有很多&#xff0c;我再这里就不再重复搬砖了。在我的使用过程中&#xff0c;就是使用分割线方面还有些生涩&#xff0c;经过网上查阅文章&#xff0c;特做此记…

ViewPager实现懒加载

日常开发中很多场景会用到ViewPagerFragment&#xff0c;一般情况下&#xff0c;我们是通过setOffscreenPageLimit(int limit)方法控制页面的预加载数量。但是有时候&#xff0c;我们又会有这样的需求&#xff0c;当用户滑动到相关页面的时候&#xff0c;才加载相关页面的数据&…

针对屏幕下方出现黑边的手机适配

针对屏幕下方出现黑边的手机适配 最近公司应用安装一款华为手机出现了类似以下的情况&#xff1a; 但是看京东啊&#xff0c;淘宝都是正常的&#xff0c;点击下方“全屏显示”的按钮也能实现不显示下面的黑边&#xff0c;但是这是什么情况呢&#xff1f; 打开华为手机的设置→显…

消息中间件的研究 (三) 协议

AMQP协议 是什么&#xff1f;&#xff1a; AMQP&#xff08; Advanced Message Queuing Protocol&#xff09; 高级消息队列协议使得遵从该规范的客户端应用和消息中间件服务器的全功能互操作成为可能。为什么使用&#xff1f; &#xff1a; 目标是实现一种在全行业广泛使用的…