博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
In FontFamilyFont, unable to find attribute android:font的报错处理
阅读量:6292 次
发布时间:2019-06-22

本文共 2165 字,大约阅读时间需要 7 分钟。

Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources]Error:In 
FontFamilyFont, unable to find attribute android:fontError:In
FontFamilyFont, unable to find attribute android:fontWeightError:Execution failed for task ':app:processDebugResources'.> com.android.ide.common.process.ProcessException: Failed to execute aaptInformation:BUILD FAILED复制代码

你是不是也遇到过这种问题,而不知道从何下手?明明全部版本都已经修改过了,为什么还是会出现这种错误?我们带着心中的小疑惑来看一下这是为什么以及他的解决办法。进入正题,先说下出现这个问题的原因:

1.compileSdkVersion 和buildToolsVersion 的版本不对应
2.可能是工程中依赖的com.android.support:support-v4 (或support-v7) 版本不一致。

具体解决方案:

原因一:compileSdkVersion 和buildToolsVersion 的版本不对应

把工程的build.gradle文件中的compileSdkVersion及buildToolsVersion的版本设成一致。如下图所示

  • 升级你的buildToolsVersion到最新版,问题直接解决。
  • 也可以选择将目标版本降到你的sdk版本。不幸的是,问题丝毫没改变。

通过第一点的改正,我们排除了compileSdkVersion 和buildToolsVersion 的版本不对应的问题。但是还是没有完全解决掉该问题。咱们接着往下看

原因二:工程中依赖的com.android.support:support-v4 (或support-v7) 版本不一致

由于是导入别人的项目,对于dependencies{}中依赖的项目需要挨个排查依赖库使用的v4或者v7包的版本,最后找出原因并剔除类库中的support-v4,统一使用自己工程的就OK了(其他类似问题同理解决) 例如AndroidPicker类,修改如下

compile('cn.qqtheme.framework:WheelPicker:latest.release') { exclude group: 'com.android.support' }复制代码

对于不是自己的项目而项目本身又有很多依赖的时候,这个工作量是巨大且盲目的,全部都查一遍的话是要疯掉的。没关系,咱们有简单粗暴而且有效的办法,咱们在configurations.all{}修正v4包版本的版本信息,如下所示

android {    configurations.all {        resolutionStrategy.force 'com.android.support:support-v4:25.3.1'    }}复制代码

让我们愉快的运行起来,突然发现还是报相同的错误。难道说是骗人的?并不是这样,刚才说了,可能是com.android.support:support-v4,也可能是com.android.support:appcompat-v7导致的或者是其他的support包导致的。

简单粗暴,直接有效

还是在configurations.all{}中,咱们对com.android.support:统一配置版本,代码如下:

android {    configurations.all {        resolutionStrategy.eachDependency { DependencyResolveDetails details ->            def requested = details.requested            if (requested.group == 'com.android.support') {                if (!requested.name.startsWith("multidex")) {                    details.useVersion '25.3.1'                }            }        }    }}复制代码

问题解决,Sync一下项目自不用说。以后再也不用担心项目中依赖的某个库中依赖了support-v4或者v7版本过高了,用这个方法可以统一进行处理。如果有什么问题欢迎留言指正。如果对你有帮助,不妨点个赞支持一下。

转载地址:http://kacta.baihongyu.com/

你可能感兴趣的文章
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>