团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记 总结

4-22 10:44至4-23 0:45

①打开Eclipse从Github上Clone MathsApp到本机,报错'Unable to resolve target'android-19'

②尝试导入Android Studio1.5.1,直接改动 targetSdkVersion 和 compileSdkVersion 到 23(安卓6.0),首次运行成功

团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记
总结

当时格外高兴,以为一大难关已经过去。然而…

4-23 8:30 至 4-23 11:56

①收到Android Studio 2.0.0的升级消息,加之看到新闻称2.0.0支持即时运行,果断关掉当前Android Studio 1.5.1,卸载干净,重装Android Studio 2.0.0。

②当我打开Android Studio 2.0.0的时候,感觉到来自谷歌深深的恶意……之前完好运行的程序工程突然多了一个红叉叉。

③于是理所当然地想应该是2.0.0需要新的plugin支持,果断打开SDK更新了2个钟。

4-23 12:30至4-23 16:41

①打开工程依然发现无法Build,卡在一个error上:

AAPT err(Facade for 2069296074): libpng error: Not a PNG file

②于是开始怀疑是不是新的AVD问题,遇到error,于是向助教咨询关于真机测试的问题,打开ADB开关,直接进行真机运行,但还是失败的。

4-23 16:41至4-23 23:03

①每点击一个class文件就报异常,于是点进class查看代码,发现注释和特殊字段的中文全部乱码,遂把UTF-8换成GBK,逐个点击更换,中文乱码问题解决,Build,依旧是那个错误。

②以为是加载的问题导致汇编依然是UTF-8的汇编,所以退出工程,重新设置默认打开方式为GBK。

③打开过程卡住,不得不强制结束进程,以为源码损坏,重新Clone MathsApp重新导入Android Studio。

④Rebuild工程,无法排错。

⑤和助教一起从错误提示中仔细推敲,发现可能是PNG文件(sRGB和aRGB读取)出问题,遂搜索PNG文件,无法排查到有问题的PNG。

⑥尝试新建工程,AVD和真机测试 试运行,发现没有问题;

⑦尝试在新建的工程写入MathsApp的Java类,导入MathsApp的res资源,Build 依然失败,错误依旧。

⑧尝试卸载Android Studio 2.0.0,安装Android Studio 1.5.1,导入原版MathsApp,修改API,错误和2.0.0一样。由此可以排除是编译器的问题。

4-23 23:03至4-23 23:41

①注意到第二次编译时错误发生了变化,指出了f1.png、p1.png和start.png有错。

②直接利用原文件夹中不报错的png替换报错png,PS打开过程中顺便把其他png也试着打开,发现bgr.png怎么也打不开,顺便把它换了。

③回到工程Build,错误和2.0.0 Build时一样,把排查方放到图片以外的内容,看AndroidManifest.xml发现encoding="utf-8",搜索相关知识发现UTF-8为安卓默认编码方式。

④回想起乱码的地方,决定把class先换到GBK,复制不乱码的整个class,退回到UTF-8乱码状态,替换乱码。

⑤重新Build,成功,无Warning无Error,Run,成功加载到AVD

团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记
总结

至此,一天排错工作结束。

①乱码会造成其他错误提示,影响编译Build,点击UTF-8换成GBK只是编译器读取为GBK中文,但在编译过程依然沿用乱码Build

②图片色差(sRGB/aRGB/CMYK)等等都会造成编译错误

③非常感谢助教的耐心指导,不仅学到知识也学会了开源合作态度,一整天下来助教都是全程一起探讨、解决问题,不嫌学生的烦人小问题,助教的热情和耐心让我十分感动。能遇到这么Nice的助教真算十分幸运的。

后续

4-24 2:01至4-24 2:07

①尝试在新编码的情况下,重新复制原版png图片覆盖前工程,Build,发现工程继续出错。两种Bug同时存在的结论得证。

②重新利用Ps打开出错文件覆盖保存,Build无错,运行正常

团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记
总结

③更新到2.0.0,打开工程很慢,更改工程文件下的

/.gradle/

  /2.10/

/gradle/warpper/gradle-wrapper.properties  

  distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip

/build.gradle

  classpath 'com.android.tools.build:gradle:2.0.0'

自动更新完Index工程就全部更新完成