团队项目-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工程就全部更新完成

时间: 2024-12-30 04:02:10

团队项目-BUG排查-ADT工程 To Android Studio 一整天的排查日记的相关文章

Eclipse工程 导入 Android Studio

最近Eclipse好多项目转Android Studio 百度翻看好多文章 这篇不错 特纪录下 地址:http://www.cnblogs.com/bluestorm/p/3757402.html 一.从Eclipse导入工程到Android Studio 根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作: 首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误) 选择需要从Eclipse导出的工程,

导入Eclipse工程 到 Android Studio

一.从Eclipse导入工程到Android Studio 根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作: 首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误) 选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Generate Gradle Build Files(如下图): 选择完毕后并不会导出到其他地方,而是在本地工程生成了一个build.gradle文件,

团队项目-BUG挖掘

测试硬件: 华为畅享5 测试平台: 安卓5.1 测试项目Git地址: https://github.com/RABITBABY/We-have-bing 测试Apk来源地址: http://www.ard9.com/bgxx/2639088.html 测试结果: 不兼容,闪退.无法运行. 程序截图:

Google将专注于Android Studio,放弃Eclipse+ADT

上周Android的官方博客发表声明:Google将在年底结束对Eclipse+ADT的开发以及停止支持,把重心完全转移到Android Studio.对于很多使用Eclipse的Android开发者而言,他们必须接受一个全新的IDE.按照Google的说法,Android Studio非常的智能和强大.这里分享下Android Studio的一些基本体验. 参考原文:Time to Migrate Android Projects to Android Studio 作者:Xiao Ling

Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当.在之前简单讲过Eclipse中Android工程的项目结构和运行原理,那么本期就来一起来了解一下Android Studio的项目结构. 一.项目查看模式 前面在熟悉Android Studio界面中提到了Project项目工具窗口,一共支持10种查看模式: 1.project模式: 展示全部文件信息,文件的位置是真实的物理结构,因此在查看文件的时候建议切

创建兼容Android Studio和eclipse的AS工程

创建兼容Android Studio和eclipse的AS工程 虽然我的博客名叫eclipse_xu,但是我已经将近一年多没有用过eclipse了,早已拜在Android Studio门下.但是,最近的项目由于要兼容eclipse和Android Studio,让一些还未脱贫的朋友也能使用AS创建的工程,所以,找到了一种能够同时兼容ant和gradle的方式,来创建兼容的工程. 创建普通的Android Studio工程 非常简单,创建好之后,我们切换到project标签,目录结构是这样的: 但

Android Studio 1.0.2项目实战——从一个APP的开发过程认识Android Studio

Android Studio 1.0.1刚刚发布不久,谷歌紧接着发布了Android Studio 1.0.2版本,和1.0.0一样,是一个Bug修复版本.在上一篇Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境,我们介绍了Android开发环境的搭建,今天先来说一下上一篇中大家问道比较多的问题,然后说一些Android Studio的使用技巧.  一.搭建开发环境中遇到的问题及解决办法 1.Genymotion模拟器网络错误 我们顺利的安装完了G

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

[Android Studio] *.jar 与 *.aar 的生成与*.aar,jar,第三方库项目导入项目方法

主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar *.aar:库/build/outputs/aar/libraryname.aar 两者区别: *.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有