您的位置:首页 > 移动开发 > Android开发

ubuntu下Android源码下载编译运行,单独编译运行

2012-04-06 11:42 696 查看
搭建编译环境:

系统ubuntu10.04.4

sudo apt-get install flex bison gperf build-essential curl zlib1g-dev g++-multilib g++-4.4-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z1-dev wine mingw32

一、源码下载

参考官方说明http://source.android.com/source/downloading.html

$ mkdir ~/bin

$ PATH=~/bin:$PATH

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

$ repo init -u https://android.googlesource.com/platform/manifest 初始化

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 开始下载4.0.1代码

$ repo sync

二、全部编译并运行

$cd WORKING_DIRECTORY

$make

在~/adnroid/out/target/product目录下生成ramdis.img,system.img,userdata.img三个主要的镜像文件,

进入目录,输入命令:

$emulator -system system.img -data userdata.img -ramdisk ramdisk.img

三、模块单独编译与运行,以Contacts模块为例:

$.build/eevsetup.sh 作用:运行这个文件,就会多出几个命令

$mmm packages/apps/Contacts/ 这个mmm就是多出来的几个命令之一

编译完成后生成两个文件:

out/target/product/generic/data/app/ContactsTests.apk

out/target/product/generic/system/app/Contacts.apk

$make smod 重新生成system.img,再运行模拟器

下面举个例子说明,假设我要编译android下的libjpeg模块,当前目录为源码根目录,方法如下:

1、source . /build/envsetup.sh

2、mmm external/jpeg/

或者 :

1、source . /build/envsetup.sh

2、cd external/jpeg

3、mm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: