Android 找不到符号错误

android技术文档 同时被 2 个专栏收录
30 篇文章 0 订阅
5 篇文章 0 订阅

这个问题困扰了我好几天。首先我们公司新成立技术部,我有幸被安排结合当下业务,出一套Android框架。框架里面包含了slf4j这个jar,一个日志框架。我使用import moudle的方式导入了一个library到某个项目里面,使用我整合好的框架。

于是我在主工程中又引入了一个同样版本的slf4j,导致出现了如下错误。

对的,你没看错,编译居然出现的是找不到符号的错误。很模糊,不知如何下手。 因为它报的这样的错,所以让人觉得是不是Android API 28没有引入进来。结果发现没有问题。然后就是一翻百度,google,bing的疯狂搜索。

网上各种版本的解决方案都有,基本就是很大众的方式,大众方法总结如下:

 

方法1:Androidstudio菜单栏Build--Clean Project,再Rebuild Project,就可以编译通过了。或者,

把import里面对R的引用删除掉,让AS自动再次引入就可以了。此方法等效于 clean and rebuild。

好啦。准备去填下一个坑。

评价:来个不懂Android的人都会操作的步骤,基本和老爷爷玩计算机,搞不定,就是关机重启的方式一个道理;

方法2:

评价:感觉有点意思,尝试了一下,还是不行。首先我的项目没有搞什么混淆,所以不存在这样的问题。

方法3:

评价:很显然,我的问题,不是这个jar。所以我也就没尝试;

方法4,5,6,7,8:什么gradle版本过低,Android版本没有引入,……一系列的,如果你和网上说的错误一模一样的话,可以照着试试。

我的最终解决方案:

1.首先我从git上拉下来一份可以运行的代码。然后集成我的框架,做一步编译一把,看有没有问题。直到后面,我在主项目中也引入了slf4j之后,问题出现了,它爆出了找不到符号的问题。于是我想起来,我的library里面也引入了slf4j。把主项目的引入注释掉就好了。总结来说,这其实是gradle编译的一个bug。它没有正确的爆出错误所在,说严重点就是误导开发者走入了一个错误的方向,导致走了很多弯路。

 问题虽然有方法解决了,但是折腾是个过程,让我学到了很多。突然解决了让我很开心,很有成就感。

 

  • 2
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值