周末无事,又编译了一下android4.1.1的源码 ,因为这个版本还是有很多系统漏洞的,编译出来有助于后续进行其他安全测试。
首先大体流程还是与编译android 5.0源码相同,流程参考http://blog.youkuaiyun.com/three_feng/article/details/50347347。
下面是编译过程中的一些不同和遇到的一些坑。
一、源码下载
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-4.1.1_r1
二、编译环境准备
1、android 4.1.1需要使用java6进行编译,安装java6参考如下:
http://jingyan.baidu.com/article/e3c78d64449be53c4d85f54e.html
2、其他组件
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev
3、make版本
编译android 4.1.1需要make的版本为3.81或者3.82,而Ubuntu15.10默认为make 4.0版本。
首先不要卸载make
然后再编译一个3.81版本,参考http://blog.youkuaiyun.com/intint/article/details/46225321 记得切换到root账号。
4、build/envsetup.sh: 1: Syntax error: "(" unexpected
5、lunch error
6、Can't locate Switch.pm in @INC (you may need to install the Switch module
解决:http://blog.youkuaiyun.com/michaelpp/article/details/22801953