转载自网络
1、下载Android源代码,有很多相关的信息可以参考
如参考下面的链接
http://www.androidchina.org.cn/56.html
2。 编译Andrid源代码
- 在32位下编译,直接make就可以了
- 在64位下编译,会出一些错误,需要额外安装一些包:
A, 没有gnu/stubs-32.h文件:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: 没有该文件或目录
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
解决方法:
- 确定你的系统是x86_64 GNU/Linux
root@mm-desktop:/home/mm/android# uname -a
Linux mm-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux
- 安装libc6-dev-i386
sudo apt-get install libc6-dev-i386
B。找不到-lstdc++
/usr/bin/ld: cannot find -lstdc++
解决方法:
- 安装 g++-multilib,lib32z1-dev 和 lib32ncurses5-dev
apt-get install g++-4.2-multilib lib32z1-dev lib32ncurses5-dev
命令 make sdk 是编译 生成SDK,位置:/out/host/linux-x86/bin
3。 运行Android emulator:
- 修改/etc/environment文件,添加emlator相关的环境变量:
sudo vi /etc/environment
添加Android的emulator目录到$PATH中
如:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:~/android/out/host/linux-x86/bin“
设置ANDROID_PRODUCT_OUT目录,此目录包含了emulator所需要的三个影像文件 :
ANDROID_PRODUCT_OUT="/home/android/out/target/product/generic"
设置emulator需要的内核影像,将其链接到ANDROID_PRODUCT_OUT目录:
ln -sf ~/android/prebuilt/android-arm/kernel/kernel-qemu ~/android/out/target/product/generic
- 运行emulator
现在直接输入:sudo emulator,模拟器就会出来了。