我为什么不用百度解决Bug

发表于:2016-9-19 11:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Big Long    来源:51Testing软件测试网采编

  选择用百度来解决bug,一定是脑子进了水。 ——记一次难忘的bug调试经历
  问题描述: 开发环境是Android Studio,在做一个智能硬件的客户端APP。 今天做到在线升级部分,添加一个UpdateHelper类,单独做成一个Module,在引用R资源时,发现没有自动生成R文件,之前也遇到过这种情况,一般来说就是资源文件有错误,R文件不能生成,但是这个Module里面我只放了两张png资源图,排除资源错误问题。好吧。。。这种bug的确让人头疼。之后尝试修改文件名、Clean、 Rebuild 、Make 等等,都是扯淡。。。
  好吧。。然后我打开了Baidu(百毒),输入关键词
  Android Module 生成 R
  然而,这出来的都是什么结果啊?其实乍一看结果还可以吧,毕竟都和关键词相关,然而内容真的是就像“宝宝的宝宝的宝宝不是宝宝亲生的” [捂脸]。。。
  好吧,既然结果都搜出来了,我们就读读看吧,反正“来都来了”:
  答案一:AndroidStudio library module的R文件报错 - - 博客频道 - CSDN.NET
  错误的内容主要是case R.styleable.这两句报错,一开始我还以为是library module的R文件没有生成。 又是clean project又是rebuild project.都没用。后来我发现TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.GradientIconView); 这句没有报错,原来是我把问题定位错了,问题不是R文件没有生成,而是case R.styleable.这句有问题。
  天哪,允许我做一个悲伤的表情:cry:。。。这。。。和 Module 生成 R 文件 有半毛钱的关系?
  答案二:android studio新建Module不生成build文件夹 - JustDoItToday的…
  这个题目终于看上去靠谱点了!我们来看一下原文:
  噗~真的是一口老血喷你脸上,:cry:,天哪, 当创建第五个时不会生成Build文件夹 ,妈勒个蛋,这个到底是为什么啊?Why?最关键的是:竟然有人在下面评论:
  噗~大兄弟,你真的解决了嘛?
  其他的就不继续列觉了,这逼装的简直刺眼。。。
  于是,楼主默默的打开Google
  哇塞!第一个结果貌似就是我想要的啊!我点进去看看~
  Android Studio don’t generate R.java for my import project
  看到这第一个答案,其实我的问题就快解决了。然后我 File -> Settings -> Compiler now check use external build ,妈蛋啊,没有这个选项呀?不带这样玩的啊。。。
  然而,我看到立刻在这个界面看到选项:Parallel project execution,于是楼主选中这个选项,apply之后,妈蛋,R文件神奇般的产生了,问题就这样解决了,然而这个鬼选项到底什么意思啊?于是我百度了一。。啊呸~ 于是楼主Google了一下,发现这是一个允许并行编译的选项,然而这和R文件的生成有什么关系啊?耐着性子读读Gradle的 文档 ,发现这就是一个提高编译速度的选项啊。然后还有就是使用这个选项要注意各个Module之间的依赖等等
  In order to make good use of cross project configuration without running into issues for parallel and ‘configuration on demand’ options, follow these recommendations:
  Avoid a subproject’s build.gradle referencing other subprojects; prefering cross configuration from the root project.
  Avoid changing the configuration of other projects at execution time.
  回想一下,这个选项还是和解决生成R文件没有任何关系,于是楼主关闭这个选项,大胆的删除build文件夹,在重现一下bug,然后楼主点击Rebuild,耐心等等结果,妈蛋,:cry:,怎么R文件出来了?你别这样啊?R文件,你怎么就这样凭空生成了?好吧,要勇于面对现实,其实Module的R文件的生成是需要时间的,如果你勾上了这个并行编译选项,会大大加快编译速度,所以。。。
  问题到这里,已经水落石出了,其实写这篇文章也是想给入门的学弟学妹一个建议:
  有问题?问Google!
  不是说百度的搜索结果不好(我说了吗?),而是氛围不好,大家的博客都是吵来吵去,能有什么精华?摒弃经验党、伸手党,做自己!
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号