android导入包错误好多,Android Studio开发最大敌人! R包导入失败

从我第一天接触Android Studio开始,我在开发之路上就陆陆续续地遇见很多次 Can'y resolve syboml R 这简直就是安卓开发的噩梦! 一开始遇见这个错误,你往往无从下手,因为Android Studio就只告诉你: 我链接R包失败了,这个项目跑不了,告辞。 真是可恶.

可以这么说,造成该错误的大部分原因是因为你的项目中某些XML文件存在拼写或者语法上的错误, 但作为一位乐观的程序员,我们肯定先把编译器方面的原因排除:

一. 那我们解决这个错误的方式往往第一步是先清空缓存,重新编译项目

二. 然而这种在网上大肆流传的玄学方法从来没有解决过我的问题(还包括调大gradle的缓存之类的).如果上一步没有解决你的问题,你还是把注意力放在你最近新添加的资源文件上.

可以这么说,排除XML文件错误的过程就是教科书式般的Debug流程.首先遵循的原则就是: 只要没有修改过之前的代码,错误一定是出现新增量的代码中的. 你可能很快就会发现:TextView拼写成了别的单词,或者误输入的一些字母在XML文件中,而编译器似乎完全没有察觉.

或者控件的括号匹配存在问题,你可能漏了一个符号/>.总之,你发现了XML中的错误.当然XML文件不只局限于布局文件,还有Drawable文件等等等等.

Android Studio的Inspect Code也许可以帮助更快的发现这些问题.

大专栏  Android Studio开发最大敌人! R包导入失败2/Find-R/inspect.png" alt="代码视查"/>

三. AndroidManifest文件

别忘了,它也是你要检查的一部分.

有时我把AndroidManifest文件中的注册FileProvider的代码中的属性resource写成了source,这导致R包链接失败

可以看到这里有一个Warning.

四. 如果你死活都找不到你到底错在哪了(我哪里错了?我哪里错了?)你就回退到你之前能正常通过编译的版本吧.所以使用代码版本控制还是很重要的在这个时候,可以让你的项目回到正常状态.之后再把增量的代码亦步亦趋地补回去.当然建议你,添加一些就编译一次,这也是让你的Debug之路更加轻松的不二法门.如果你没有对你的项目进行版本控制,也可以手动删除新添加的代码

五. 好吧,你还是没有解决这个问题你目前的状态现在就只能两个选择,要么继续硬着头皮和错误玩捉迷藏(有一次这个捉迷藏持续了一整天!),要么开始怀疑编译器,怀疑人生…

到此我也无能为力了…

总结:人月神话中提到: 程序员的80%的时间其实都是花在Debug上,而不是编写代码上.Debug的重要性可想而知。所以提高Debug效率对提高一个程序员的工作效率至关重要.熟练Debug的正确姿势,确定错误的出现范围,逐量亦步亦趋地编写编译测试。这些都可以让你更加快的发现错误并提前下班。

记得保持一个良好的心态(微笑)。Debug是一个需要耐心的过程

纪念我遇见过的 Can'y resolve syboml R

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值