Android构建报错:找不到fontVariationSettings属性及相关弃用警告咨询
Android构建问题解决方案
我来帮你逐个搞定这些Android构建时碰到的问题:
1. 处理android.dexOptions.incremental弃用警告
这个警告其实不用太担心,但要消除它很简单:这个属性从Android Gradle插件3.0版本开始就已经被彻底弃用了,现在对构建过程完全没有作用。你只需要打开模块级的build.gradle文件,找到dexOptions代码块里的incremental true这一行,直接删掉就可以了。
举个例子,原来的代码可能是这样:
android { dexOptions { incremental true // 其他dex相关配置 } }
删掉incremental true之后,下次构建这个警告就会消失。
2. 解决找不到android:attr/fontVariationSettings和ttcIndex资源错误
这两个错误本质是同一个问题——你的项目编译SDK版本和依赖的appcompat-v7:26.1.0版本不匹配。fontVariationSettings和ttcIndex是Android 8.0(API等级26)才新增的系统属性,所以你需要调整项目配置来适配:
- 首先打开模块级build.gradle,确保
compileSdkVersion和targetSdkVersion都设置为26或更高版本,比如:
android { compileSdkVersion 26 defaultConfig { targetSdkVersion 26 // 其他默认配置 } }
- 然后检查项目根目录的build.gradle,确保Android Gradle插件版本至少是3.0.0(对应Android Studio 3.0及以上),比如:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.0' // 也可以用更高的稳定版本,比如3.5.4、3.6.4这类经过验证的版本 } }
- 如果调整后还是报错,建议你升级
appcompat-v7到更高的稳定版本,比如28.0.0(对应API 28),同时把compileSdkVersion和targetSdkVersion也同步改成28:
dependencies { implementation 'com.android.support:appcompat-v7:28.0.0' }
另外,你也可以用./gradlew dependencies命令查看项目的依赖树,排查有没有其他依赖库强制使用了更低的SDK版本导致冲突,如果有的话,可以通过exclude语法或者强制统一依赖版本来解决。
内容的提问来源于stack exchange,提问作者Midhilaj
相关产品推荐
相关产品推荐

