+-
Android resource DarkActionBar not found问题解决

原文: Android resource DarkActionBar not found问题解决 | Stars-One的杂货小窝

几天没改过的代码,突然就无法打开项目了:worried: 报错信息如下

在全网都找不到解决方法的情况下,排查了两天,脾气都快上来了:angry:

自己终于是找到了问题的关键,记录下解决方法,想要看解决方法请直接往下翻

报错信息

error: resource style/Base.Theme.AppCompat.Light.DarkActionBar (aka com.tjsoft.interact:style/Base.Theme.AppCompat.Light.DarkActionBar) not found.

排查过程

首先,便是使用了

clean project
rebuild project
的方法,但是没有起到作用

于是,便是尝试清缓存的终极大法(如下图),也是不起作用

没有办法,由于项目之前旧电脑也是有一份,于是尝试旧电脑是否有这个问题,旧电脑编译,丝毫没有问题

定位到可能是开发环境出了问题,看报错信息,猜测是少了

support-v7
主题的配置,于是对两台电脑的依赖包进行比对,确实有所不同:

这是新电脑的library配置

可以看到,旧电脑中具体原因也不明,所以我们手动去设置下liarbry的路径

而在旧电脑的library配置是,后面28.0.0还有

@aar
的标志及res文件夹,而新电脑却没有,可能这就是关键

于是便尝试设置新电脑的library的设置,对应的library依赖,其实编译后是保存在

.idea
的文件夹中,如下图

找到有

support-v7
关键字的文件,我就想着去改这个文件里的内容,改成与旧电脑配置一样看看行不行

在准备修改的时候,发现文件里的路径其实是gradle的缓存路径(下图可能你们看不出来是gradle的路径,是因为我自己修改了gradle保存文件的路径)

大家前面的路径可能类似

C:\Users\starsone\.gradle
这样的路径

抱着侥幸的心理,去该路径看了下,发现有几个文件夹,而当前引用的文件竟然没有包含

value
文件夹,那肯定是自然找不到主题文件
styles.xml

然后果断地尝试修改路径,重新编译,还是失败!:sweat_smile:

似乎到这里就没辙了,我灵机一动,要不然直接把那个文件夹删除了,应该会自动的重新生成,于是删除后发现没有报错了,但是确实报了另外的错...

错误没有截图,无非就是app命名空间似乎找不到对应的属性了

一不做,二不休,把

C:\Users\starsone\.gradle\caches\transforms-1\files-1.1
的这个文件夹清空,重新编译项目,错误顺利解决了:smile:

解决方法

删除gradle里

C:\Users\starsone\.gradle\caches\transforms-1\files-1.1
文件夹的数据, 上面的记得找你自己的用户名哦 然后重新sync依赖

PS: 建议给文件夹改个名字即可,把当前出错的项目重新编译就可以解决问题了,再把之前改了名字的文件夹里面的相关数据剪切到新的文件夹,这样就可以不用再打开其他项目的时候重新生成文件,避免等待

自己琢磨了几天也是不容易,也不知道是什么原因导致gradle出问题了,本篇就先这样了!