2.4搭建Android SDK开发环境
上一节我们讲解了如何下载、编译Android系统及Linux内核,接下来,讲解如何搭建Android SDK开发环境,包括Eclipse下载安装、ADT插件安装、Framework源码级调试、定制Android系统等相关知识。
2.4.1 下载、安装Eclipse
首先、从Eclipse官方网站上下载EclipseIDE Classic,注意选择合适平台(在32位Ubuntu中,选择Linux 32 Bit版本):
http://www.eclipse.org/downloads
下载完成后,解压缩,运行Eclipse:
$ tar–xvf eclipse-linux-gtk.tar.gz $ cd eclipse $ ./eclipse &
启动后,选择工程目录,显示Eclipse界面。
图 xx-xx eclipse启动画面
2.4.2 安装ADT插件
ATD(Android Development Tool)插件是专门用于在Eclipse开发环境中开发Android应用程序的插件。
打开Help -> InstallNewSoftware… ,在弹出窗口中点击Add按钮添加新插件,在新弹出窗口中的Name中随意输入一个名字,在Location输入:https://dl-ssl.google.com/android/eclipse,点击OK。
图 xx-xx安装ADT
图 xx-xx安装ADT
图 xx-xx安装ADT
在下面的列表中选择Android DDMS和Android Developer Tools,选择Details中的Contact allupdate sites during install to find required software保持更新,点击Next。
图 xx-xx安装ADT
进入用户协议窗口,如图x-x所示,同意所有协议,开始安装:
图 xx-xx接受用户许可协议
图 xx-xx安装ADT
安装过程中会出现一些警告提示,点击OK继续,然后重新启动Eclipse。
2.4.3下载、配置Android SDK工具包
现在我们的eclipse开发环境已经准备完毕,虽然具备了开发Android的能力,但是还没有开发Android应用程序时要用到的工具和模拟器等,这些都在Android SDK中,进入官方网站:http://developer.android.com/sdk/index.html,选择适合的平台,下载并解压SDK:
图 xx-xx下载Android SDK
解压到/home/linux/android/目录下:
$ tar -xvfandroid-sdk_r21.1-linux.tgz -C /home/linux/android/
其中android-sdk_r21.1-linux.tgz是从官网下载的SDK包(该包更新频繁,版本可能不一样),-C参数表示将包解压到参数后面的目录中。
SDK包解压完之后,要设置Eclipse让其知道SDK的目录,当编译Android应用程序时能找到SDK中的资源,打开Window -> Preferences菜单,左侧选择Android项,右侧SDK Location选择解压的SDK目录,点击OK。
图 xx-xx指定Android SDK 目录
图 xx-xx指定Android SDK 目录
2.4.4下载Android SDK平台
在Android SDK工具包中只包含了开发环境中用到的一些工具,Android系统版本更新比较频繁,我们要在SDK下载器里下载要开发的Android系统版本类库、映像文件等。
打开Window -> Android SDK Manager,选择要开发的目标系统平台(我们前面下载的是2.3的源码,所以下载Android2.3.3的目标系统):
点击Install Selected按钮,同意所有的协议,进行下载安装:
图 xx-xx下载Android平台
2.4.5 通过Android SDK Manager创建模拟器
在没有真实手机设备时,我们可以通过SDK工具来创建模拟器。
打开Window -> Android Virtual Device Manager ->New,在弹出窗口中新建模拟器:
- AVD Name:模拟设备名设置为MyPhone
- Device:选择合适尺寸的屏幕大小,推荐320 x 480。
- Target:选择与源码匹配的系统版本。
- SD Card:输入虚拟SD卡的大小。
点击OK,选择新创建的设备,点击Start启动它:
图 xx-xx创建Android模拟器
图 xx-xx启动Android模拟器
2.4.6应用程序Framework源码级调试
Android平台由上层应用层、中间framework层、本地运行时库层及Linux内核层构成,应用程序调用Framework的代码库,在开发Android应用程序时,程序员希望深入Android提供的API中去查看具体实现,也就是说更希望在调试应用程序时能浏览到Framework代码,从而能更深刻的理解Android的工作机制,下面我们讲解如何进行应用程序的Framework源码级别调试。
Framework的源码级别调试,说白了就是当我们单步调试时能直接进入到Framework源码中去,这也就意味着,我们要将Framework的源码添加到Eclipse中,添加步骤如下:
- 修改Eclipse的缓存配置:
打开Eclipse的安装目录下的eclipse.ini文件,修改下面的三个变量的值:
--launcher.XXMaxPermSize 256m -Xms128m -Xmx512m
- 将Android源码中的Eclipse配置文件.classpath(在development/ide/eclipse/目录下)拷贝到源码的*目录下:
$ cd ~/android/android_source/ $ cp development/ide/eclipse/.classpath ./
- 把Android提供的两个配置文件(在development/ide/eclipse/目录下):android-formatting.xml和android-importorder.xml导入Eclipse:
打开 window -> preferences -> Java ->CodeStyle -> Formatter,点击Import,选择android-formatting.xml文件,点击Apply,应用设置。
打开 window -> preferences -> Java ->Code Style -> Organize Imports,点击Import,选择android-importorder.xml,点击Apply,应用设置。
- 导入Android源码:
选择:File -> New -> Java Project,如图论x-x所示,创建新Java工程,在弹出的窗口中输入工程名:android_source,指定Location为Android源码的*目录:/home/linux/android/android_source(上一步.classpath被拷贝到这儿),点击Finish按钮。
Eclipse加载源码时间比较长,如果加载完出现找不到javalib.jar库的错误,打开.classpath文件,将下列内容删除掉:
<classpathentrykind="lib"path="out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar"/> <classpathentrykind="lib" path="out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar"/>
重启eclipse,如果出现源码错误,说明项目配置文件.classpath里面的目录与源码中的目录不一致,将.classpath里的目录与源码目录匹配即可。
- 查看Eclipse左侧的Package Explorer窗口,可以看到AndroidFramework源码被导入进来了,如图x-x所示。
图 xx-xx输入Android源码
- 源码级调试Android应用程序:
在开始调试之前,要保证上一步中Android源码工程编译完没有错误。
新建一个HelloWorld应用程序工程,在该工程上右键选择菜单Debug As->Debug Configurations ->Remote Java Application,右键点击New,在右侧窗口中Project选择刚才添加到工程中的Android源码工程:android_source,点击Apply应用设置。
打开HelloWorld源码文件,将断点设置在super.onCreate()方法上,点击调试按钮,开始调试。
图 xx-xx配置调试信息
图 xx-xx配置调试信息
图 xx-xx配置调试信息
当点击F5(Step Into)进入框架层代码时,会显示“Sourcenot found。”,选择“EditSource LookupPath…”,在新窗口中单击Add按钮,选择Java Project,选择android_source工程,这样就可以看到框架层代码了,如图xx-xx所示。
图 xx-xx设置源码目录
图 xx-xx调试HelloWorld源码
- 调试系统级应用程序
首先在模拟器里打开要调试的应用程序,比如计算器Calculator,打开Window ->Open Perspective -> DDMS ,弹出DDMS调试窗口。在Devices窗口中选择Calculator的进程com.android.calculator2。
图 xx-xx 选择要调试的进程
打开Run ->Debug Configurations -> RemoteJava Application,右键点击New,配置Name为:Calculator,在右侧窗口中Project选择刚才添加到工程中的Android源码工程:android_source,调试Port端口设置为:8700(默认AVD调试端口)点击Apply应用设置。
图 xx-xx 调试源码
再点击Debug,可以看到DDMS窗口中,com.android.calculator2进程前面出现了Debug标志,如图xx-xx所示。
图 xx-xx 调试Calculator源码
切换到Java视图,打开android_source工程中Calculator.java,在onCreate方法上设置断点,在模拟器里关闭刚才打开的Calculator,再次启动它,在Eclipse中就可以对Calculator进程进行调试了。
图 xx-xx 调试Calculator源码
深入浅出 - Android系统移植与平台开发(六)- 搭建基于Linux的Android开发环境,布布扣,bubuko.com