2011/12/21 android环境搭建

来源:互联网 发布:越狱后cydia网络错误 编辑:程序博客网 时间:2024/05/16 07:45

1 Linux系统安装

1.1 下载ubuntu10.04(32bit)和DAEMON Tools Lite

1.2 安装

运行DAEMON Tools Lite按步骤操作即可。

建议:使用root账户登录会节省不少时间,可以安装VMWare Tools。

2 下载源码

2.1 设置软件源

可以查阅sdk文档。

2.2 下载源码

可以查阅sdk文档。kernei的代码单独下载,git clone git://android.git.kernel.org/kernel/common.git kernel

例如Android2.2

apt-get install git-core  curl      #两个下载工具

mkdir -p /develop/android_source      #在根目录下建立文件夹

cd ~/develop/android_source         #进入目录中

curl http://Android.git.kernel.org/repo > ./repo  #从源码网站下载repo脚本,Google提供的方便下载整套源码工具

chmod a+x repo        #设置该脚本为可执行

./repo init -u git://Android.git.kernel.org/plateform/manifest.git -b froyo  #初始化git库

./repo sync     #开始下载

3 编译源码

3.1 部署JDK

下载JDK,如果是xxx.bin,通过 ./xxx.bin执行解压,然后在配置文件中部署。

如果是root用户,在~/.bashrc,否则在/etc/profile 中添加下面内容:

export JAVA_HOME=xxx  #bin 文件解压的路径

export JRE_HOME=xxx/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

在终端source一下修改的文件,然后可以通过echo $PATH查看环境变量

3.2 编译

在终端执行

cd ~/develop/android_source         #进入目录中

. build/envsetup.sh    #设置android编译环境

执行choosecombo命令  #选择编译目标

执行命令make/mmm/mm

附:

 

作用

优点

缺点

make不带任何参数,编译整个系统整体编译

编译时间太长

make MediaProvider单模块编译把与该模块关联的其他模块也一起编译。初次编译不会报错

需要搜索整个源码来定位MediaProvider模块所使用的Android.mk文件,还要判断该模块所依赖的其他模块是否修改。整体编译时间过长

mmm packages/providers/MEDIAprovider

编译指定目录下的目标模块,不编译它所依赖的模块

编译较快由于没有编译它所依赖的模块,初次编译易报错mm

单模块编译,需要先cd进该模块mk文件所在目录,再执行mm命令。只编译目标模块

编译较快由于没有编译它所依赖的模块,初次编译易报错

       初次编译必须使用make命令。之后需要局部编译时,如果只知道目标模块的名称或者初次编译,则应使用make 模块名 的方式编译目标模块;如果不知道目标模块的名称,但知道所在目录,可使用mmm或者mm命令编译来节省时间。

3.3 部分模块的编译目标

部分模块编译目标目标模块make命令mmm命令initmake initmmm system/core/initzygotemake app_processmmm framework/base/cmds/app_processsystem_servermake servicesmmm framework/base/services/javaRefBasemake libutilsmmm framework/base/libs/utilsLoopermake frameworkmmm framework/baseAudioTrackmake libmediammm framework/base/media/libmediaAudioFlingermake libaudioflingermmm framework/base/libs/audioflingerAudioPolicyServicemake libaudiopolicymmm hardware/msm7k/libaudio-qsd8kSurfaceFlingermake libsurfaceflingermmm framework/base/libs/surfaceflingerVoldmake voldmmm system/vold/Rildmake rildmmm hardware/ril/rild/MediaProvidermake MediaProvidermmm packages/providers/MediaProviderPhonemake Phonemmm packages/Phone/Musicmake Musicmmm packages/Music/

4 工具安装

4.1 eclipse

网上下载eclipse xxx.bin文件,执行. xxx.bin解压后运行。下载linux版本的SDK,下载并安装ADT后配置SDK路径。

4.2 Source Insight

阅读源码工具,是windows下的工具,在Linux平台上可以通过wine安装。

使用:

a. 不要把整个源码加入工程,一般首先把framework/base/下的目录加到工程,如果需要再把其他目录加进来。不用的代码通过project->Add and Remove project Files去掉目录,以提高运行速度。

b. Options->Document options->左上部分点击ScreenFonts按纽来调节字体

c. Project->new project加载目录,projec->rebuild project解析源码,选择左下角按纽,在左上角输入文件名可以快速定位文件。

4.3 Busybox

Linux平台工具,由于android手机系统去掉了大多数工具,导致调试程序和研究android系统十分不便,可以在手机上安装Busybox解决。

根据手机情况下载Busybox,然后将之push到手机上。安装busybox需要root权限。

adb push busybox /system/xbin  #为了避免冲突

cd /sysytem/xbin

chmod 755 busybox

busybox  - - install  #安装

grep  #执行busybox提供的grep命令,或者busybox xxx 执行xxx命令

 

原创粉丝点击