团队项目-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),首次运行成功

当时格外高兴,以为一大难关已经过去。然而…
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

至此,一天排错工作结束。
总结
①乱码会造成其他错误提示,影响编译Build,点击UTF-8换成GBK只是编译器读取为GBK中文,但在编译过程依然沿用乱码Build
②图片色差(sRGB/aRGB/CMYK)等等都会造成编译错误
③非常感谢助教的耐心指导,不仅学到知识也学会了开源合作态度,一整天下来助教都是全程一起探讨、解决问题,不嫌学生的烦人小问题,助教的热情和耐心让我十分感动。能遇到这么Nice的助教真算十分幸运的。
后续
4-24 2:01至4-24 2:07
①尝试在新编码的情况下,重新复制原版png图片覆盖前工程,Build,发现工程继续出错。两种Bug同时存在的结论得证。
②重新利用Ps打开出错文件覆盖保存,Build无错,运行正常

③更新到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工程就全部更新完成
团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记的更多相关文章
- 导入Eclipse工程 到 Android Studio
一.从Eclipse导入工程到Android Studio 根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作: 首先升级ADT到最新版本,目前为版本号为2 ...
- Eclipse工程 导入 Android Studio
最近Eclipse好多项目转Android Studio 百度翻看好多文章 这篇不错 特纪录下 地址:http://www.cnblogs.com/bluestorm/p/3757402.html 一 ...
- 导入eclipse工程到Android Studio中
ref:从 Eclipse 迁移至 Android Studio | Android Studiohttps://developer.android.com/studio/intro/migrate. ...
- Eclipse 项目以非gradle方式导入Android Studio
对于以前习惯了Eclipse ide的开发这来说,要把项目导入到studio是一件很不愿接受的事情,但是...毕竟人家官方都给出建议了,并且年后会逐渐被淘汰 如下图所示是一个典型的eclipse项目. ...
- Unity导出Gradle工程给Android Studio使用
1 Unity导出Gradle项目 Unity打包时Build System选择Gradle,勾选Export Project 2 Android Studio导入Unity导出的Gradle项目 打 ...
- 使用新版本5+SDK创建最简Android原生工程(Android studio)http://ask.dcloud.net.cn/article/13232
1 使用Android Studio创建一个工程 2 删除原生工程中Java目录下系统默认创建的源代码 3 复制SDK->libs->lib.5plus.base-release.aar文 ...
- 团队项目-BUG挖掘
测试硬件: 华为畅享5 测试平台: 安卓5.1 测试项目Git地址: https://github.com/RABITBABY/We-have-bing 测试Apk来源地址: http://www.a ...
- unity5.6 导出gradle工程,Android Studio 导入问题以及解决
导入后gradle building 一直到跑,卡住了,一般是gradle没有下载,又下不下来的原因. 去 http://services.gradle.org/distributions/ 下载 ...
- Android项目第一天,下载安装Android Studio和“我的第一个安卓项目”
一.AS的下载我是在AS官方网站进行下载的最新版本,如图所示 二.AS的安装过程 点击你下载的安装包安装即可,傻瓜式一站到底. 到这一步时选择第二个按钮, 随后出现如下界面 这个窗口是提示我们设置代理 ...
随机推荐
- Home Assistant系列 -- 基于树莓派安装并设置自启动
Home Assistant 是当前智能家居最火热的开源DIY 软件,之前的文章 智能家居系统 Home Assistant 系列 --介绍篇 已经详细介绍过了,这里就不详细介绍了,今天介绍 如何 ...
- C语言堆排序
堆是一种类似二叉树的数据结构,分为最大堆和最小堆,最大堆得定义是当前节点必须大于左右子节点,堆中所有节点都要符合这个定义.最小堆反之.这一点不同于二叉树排序.假设有数组int a[10] = {90, ...
- 最近最少使用算法(LRU)——页面置换
原创 上一篇博客写了先进先出算法(FIFO)——页面置换:http://www.cnblogs.com/chiweiming/p/9058438.html 此篇介绍最近最少使用算法(LRU)——页面置 ...
- Oracle入门第三天(上)——多表查询与分组函数
一.多表查询 所有的连接分析,参考之前随笔:http://www.cnblogs.com/jiangbei/p/7420136.html 1.笛卡尔积 select last_name, depart ...
- 20155206 《Java程序设计》实验四实验报告
20155206 <Java程序设计>实验三实验报告 实验内容 Android程序设计 实验步骤 part1: Android Stuidio的安装测试: 参考<Java和Andro ...
- 实验2 Windows口令破解
实验2 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验工具 LC5 实验原理 口令破解方法: 口令破解主要有两种方法:字典破 ...
- Android开发笔记——ListView模块、缓存及性能
ListView是Android开发中最常用的组件之一.本文将重点说明如何正确使用ListView,以及使用过程中可能遇到的问题. ListView开发模块 图片缓存 可能遇到的问题 一.ListVi ...
- clean code(一)
代码整洁之道对于程序的重构及可读性至关重要.开始整洁之道吧!!! 一.抽离try catch 模块 public void delete(Page page){ try { deletePageAnd ...
- hession矩阵的计算与在图像中的应用
参考的一篇博客,文章地址:https://blog.csdn.net/lwzkiller/article/details/55050275 Hessian Matrix,它有着广泛的应用,如在牛顿方法 ...
- Nginx高性能优化
#Nginx配置文件优化 worker_processes ; # nginx进程数,建议按照cpu数目来指定,一般为它的倍数. worker_cpu_affinity ; # 为每个进程分配CPU的 ...