Android 4.2 r1 源码在Ubuntu上编译和 模拟运行

2014-11-24 08:24:49 · 作者: · 浏览: 2

前提:代码已经准备好。


首先要设定环境:


这个命令设定后下一条命令才可以执行:


USER@ANDROID_ROOT: lunch full-eng


这个设定了很多环境变量,不管是编译还是模拟都要用到,


然后开始编译


make -j2


-j后面带的数字有电脑的CPU决定,如有双CPU每个CPU有4个核 则 make -j8.


编译的时间很漫长,完了后就可以开始模拟运行了


emulation


USER@ANDROID_ROOT: source ./build/envsetup.sh


USER@ANDROID_ROOT: lunch full-eng


否则的话会报错 ,说emulator找不到。


另外编译自己的内核 :


1. 拉模拟器的内核代码:


git clonehttps://android.googlesource.com/kernel/goldfish.git


git branch -r


gitcheckout origin/android-goldfish-2.6.29


2. 拉编译环境,并设置环境路径


$ git clonehttps://android.googlesource.com/platform/prebuilt


这个prebuilt目录建议放到android目录下面 ,和kernel同级 $ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH


把prebuild设置到环境路径


3. 建立一个shell文件叫make_goldfish.sh 里面加入内容:


#!/bin/bash export ARCH=arm export SUBARCH=arm export CROSS_COMPILE=arm-eabi- makegoldfish_armv7_defconfig make -j2


即开始编译,(确保prebuild设置到环境路径)


4.使用自己的内核运行android模拟:


USER@ANDROID_ROOT: emulator -kernel./kernel/goldfish/arch/arm/boot/zImage -shell


说明:./kernel/goldfish是我的kernel源代码目录


-shell 是在当前终端打开adb shell


也可以另开终端窗口执行 adb shell (要保证本文最开始的两条设置命令已经运行过)


至此,android内核的调试之路正式开始 。