比如:

Android resource linking failed...\merged.dir\values-v26\values-v26.xml:7: error: resource android:attr/colorError not found....\merged.dir\values-v26\values-v26.xml:11: error: resource android:attr/colorError not found....\merged.dir\values-v26\values-v26.xml:15: error: style attribute 'android:attr/keyboardNavigationCluster' not found....\merged.dir\values\values.xml:2079: error: resource android:attr/fontStyle not found....\merged.dir\values\values.xml:2079: error: resource android:attr/font not found....\merged.dir\values\values.xml:2079: error: resource android:attr/fontWeight not found.error: failed linking references.

由于文件路径太长,已经省略了前面的很多路径,我们主要看后面的就行了,不运行应用时没有报错,运行时编译就报错了,不知道为什么要在编译运行时才报错。

这个错误说的比较明白了,但是如果没经验的话还是一头雾水的,我在项目中引入了Kotlin的Anko,如下:

implementation "org.jetbrains.anko:anko:$anko_version"

然后运行就报错了,这是因为这个库又依赖到了其他一些库,而这些库里面有包含这些报错的xml资源文件,这些资源文件里面引用了一些xml属性,我们看到这些属性是android:attr,以android命令空间打头的肯定是系统属性,说找不到这个属性那就是这个版本的系统就没有这个属性,所以找不到,像我上面那个错误就很好解决,因为我们看到有values-v26,说明使用这个资源的库他的编译版本最少是26吧,所以我把我项目的编译版本也设置成26,编译就能过了,因为在Api26版本中有这些对应的属性,26以下的版本就没有这些属性。如果报出来的错误中没有版本信息,则你需要找你依赖的库里面使用到的一些支持库,看他的版本是多少,找最高的版本,我们编译版本就设置和它一样就行了,示例如下:
android studio运行应用报找不到资源问题_第1张图片
可以看到anko它是需要 sdk27来编译的,但是我发现我用26编译也没问题。

更多相关文章

  1. 关于android原生Webview的一些属性整理(持续补充~)
  2. Android中通过资源文件获取drawable的几种方法
  3. Android Root刷机资源 & Google Nexus资源
  4. Android版本28使用http请求报错not permitted by network securi
  5. Android android 6.0权限校验及版本兼容问题

随机推荐

  1. android 布局详解
  2. 短视频源码,实现文字横向移动效果(跑马灯
  3. Ubuntu下编译android的linux内核
  4. Android异步处理三:Handler+Looper+Messag
  5. 最全的Android单元测试教程
  6. Android文件的读写
  7. android LinearLayout 相关知识
  8. Android(安卓)Handler机制13之AsyncTask
  9. 如何配置android的adb环境变量
  10. 2011年,Android星光不再闪烁