Android实战第三季-调试

Android 初调试

在 Android 平台开发,需要在一个模式或者真实的环境之下进行一下调试、验证,至少有三种方式:

  1. Eclipse + AVD ,通过 Eclipse 或者 Android SDK 自带的命令行创建 Android Virtual Device ;

  2. Eclipse + Android Device ,通过一个真实 Android 设备通过 USB 和电脑相连进行调试;

  3. Eclipse + Android System over Virtual Machine ,在系统安装一个虚拟机软件,比方说: VirtualBox , VmWare , VirtualPC 等,然后下载一个 Android ROM 安装到虚拟机之中,配置虚拟机的网络和 Host 主机相连,然后在 Host 主机中通过 adb 命令 adb connect android-ip 连接虚拟机中的 Android 系统,然后就可以进行调试了。

对于一些和 ROM 相关的开发、调试,最后现在虚拟机环境下进行调试,以免于把真实 Android Phone 给“砖头”了。

Android 源代码下载和编译:

  1. 拥有 Ubuntu 系统,进入到 Ubuntu 系统;

  2. 安装 cURL 。什么是 cURL ,官方解释:支持很多协议: FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP 。 curl 同样支持 HTTPS 认证, HTTP POST 方法 , HTTP PUT 方法 , FTP 上传 , kerberos 认证 , HTTP 上传 , 代理服务器 , cookies, 用户名 / 密码认证 , 下载文件断点续传 , 上载文件断点续传 , http 代理服务器管道( proxy tunneling ) , 甚至它还支持 IPv6, socks5 代理服务器 , 通过 http 代理服务器上传文件到 FTP 服务器等等,功能十分强大。下载地址: http://curl.haxx.se/download.html

  3. 安装 Git ;

  4. 建立 ~/bin 目录,将这个目录配置到环境变量 ~/.bashrc 里面: export PATH=~/bin:$PATH

  5. 安装 Repo ,通过命令: curl http://android.git.kernel.org/repo >~/bin/repo

  6. 改变 ~/bin/repo的权限: chmod a+x ~/bin/repo

  7. 初始化版本库: repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo

  8. 同步 repo sync

  9. make(make 的时候出错了,注意查看,极有可能是缺少系统库,根据错误提示安装 系统库即可 )

  10. 最后编译完的库文件,主要集中在 out\target 路径下面。例如编译后的 framework. jar 位置在 out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar 。

并且可以参考:
http://mintelong.iteye.com/blog/466893
http://www.williamhua.com/2009/04/29/
http://source.android.com/source/build-numbers.html

在 ubuntu 下使用 Eclipse+VirtualBox 进行 Android 开发:

  1. 安装 Sun JDK;
  2. 安装 Eclipse + Android plugin;
  3. 安装 Android SDK for linux, 配置 adb 的所在目录到 path 中;
  4. 下载 Android 源代码并且编译;
  5. 安装 virtualbox;
  6. 下载到开发版本的 android rom 的 iso 文件 ;
  7. 在 virtualbox 中创建一个虚拟机,将 iso 加载到虚拟机的光盘中,将 android rom 安装到硬盘中,在安装过程中选择 /system 目录为 read-write ,并且创建 sdk 虚拟卡。 android 自动将其挂在到安装后的 /sdcard 路径 ;
    选择虚拟机的网络方式是 :bridged adapter ,虚拟机的操作系统会自动从 ubuntu 一样,从外部路由器中获取一个独立的 ip ,可以和 ubuntu 互通,也可以通过路由器上网。
  8. 登录到虚拟机中的 android 系统,通过 devtools 应用的子项 Terminal simulator 进入到命令行界面,通过 ip addr 看到本机的 ip(android-ip).
  9. 在 ubuntu 的命令行中: adb connect android-ip
  10. 进入到 Eclipse 中,模拟器可以选择 AVD 调试 app 开发,也可以选择 manual 方式到虚拟机中的 android 环境进行开发。 Eclipse 调试环境自动将 apk 发布到虚拟机 Android 的目录 /system/app 下。 .
  11. 在 ubuntu 下,鼠标在 ubuntu 和虚拟机之间切换的快捷键:键盘中的 右 ctrl + i 就可以了。