首页 / 操作系统 / Linux / Android 4.2 r1 源码在Ubuntu上编译和 模拟运行
前提:代码已经准备好。首先要设定环境:USER@Android_ROOT: source ./build/envsetup.sh这个命令设定后下一条命令才可以执行:USER@ANDROID_ROOT: lunch full-eng这个设定了很多环境变量,不管是编译还是模拟都要用到,然后开始编译make -j2-j后面带的数字有电脑的CPU决定,如有双CPU每个CPU有4个核 则 make -j8.编译的时间很漫长,完了后就可以开始模拟运行了emulation注意:如果下次打开Ubuntu的终端想要再运行模拟器,要把上面两个设置环境命令再运行一次:USER@ANDROID_ROOT: source ./build/envsetup.shUSER@ANDROID_ROOT: lunch full-eng否则的话会报错 ,说emulator找不到。另外编译自己的内核 :1. 拉模拟器的内核代码:git clonehttps://android.googlesource.com/kernel/goldfish.gitgit branch -rgitcheckout origin/android-goldfish-2.6.292. 拉编译环境,并设置环境路径$ 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内核的调试之路正式开始 。更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11