Android 4.0开发环境搭建及源码编译
移植方式:
- 可利用复制虚拟机的方式减少搭建开发环境的时间,具体方式参考下列连接
Ubuntu12.04&Android4.0虚拟机移植
准备工作:
- 建议60GB以上本地磁盘
- 良好的网络,充足的时间与耐心,安装顺利大约需要5-10小时
- 下载所有软件安装包
链接:百度网盘
提取码:1234
参考步骤:
-
安装VMware Workstation pro
-
安装ubuntu-12.04-desktop-amd64
-
Ubuntu12.04更换镜像源 可参考我的一篇换源文章Ubuntu12.04更换镜像源与valgrind3.2.0的安装
-
gcc、g++降版本 可参考我的另一篇降版本文章Ubuntu12.04降低gcc,g++版本为4.4x
-
通过共享内存的方式把aosp目录拷入到Ubuntu
路径为:/home/linux
完成后文件夹的内容为:
注意:
这里要通过共享内存的方式可以看我的一篇文章Ubuntu12.04开启共享内存
Ubuntu12.04中的home文件夹权限问题,可输入以下命令修改home文件权限sudo su root //进入文件系统下 chmod 777 home
即可将aosp目录成功拷入
-
进入aosp目录,打开命令窗口输入命令
注意:这里没有在终端中打开选项可通过下面命令获得sudo apt-get install nautilus-open-terminal
然后单击右键就可以看到打开终端的选项,如果没有则需要重新启动系统
输入下面命令
sudo ./jdk-6u29-linux-x64.bin //会生成 jdk1.6.0_29 sudo gedit /etc/profile //并把profile_append中的内容追加到文件后面,并使配置生效 source /etc/profile
用于配置环境变量,aosp在/home/linux目录下无需修改
接下来输入以下命令javac -version
如果能显示版本号说明JDK安装成功
-
安装编译依赖工具包
sudo apt-get install bison sudo apt-get install flex sudo apt-get install apt-file sudo apt-file update sudo apt-get install lib32z1 sudo apt-get install gperf sudo apt-get install zlib1g-dev sudo apt-get install liblzma-dev sudo apt-get install ia32-libs sudo apt-get install lib32stdc++6 sudo apt-get install g++-multilib //做完这一步需要查看gcc、g++版本,如果显示版本为4.6x需要重复降版本操作! 直至显示4.4x为止 sudo apt-get install zlib1g-dev sudo apt-get install lib32z-dev sudo apt-get install lib32ncurses5-dev sudo apt-get install build-essential sudo apt-get install libx11-dev sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install git sudo apt-get install git-core sudo apt-get install python-markdown sudo apt-get install yum sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h sudo ln -s /usr/include/linux/videodev.h
注意:这里会安装依赖的工具包,一定要在换源的前提下进行,每输入一条指令,就需要点击y一次,需要等待安装,比较耗时,请有耐心仔细输入完成,否则缺少会导致后面编译出错。
-
解压aosp目录下的安装包
输入以下指令//为了缩小内存空间,使用了双压缩包 //aosp4r.rar->asop4r.tar(改名)->aosp4r.tar1->aosp4r.tar(改名/4.26G) //上文网盘内该文件已经为aosp4r.tar(4.26G)可直接解压使用 tar xvf aosp4r.tar tar xvf goldfish2629.tar tar xvf sdk14.tar tar xvf eclipse.tar
-
在当前目录下:/home/linux/aosp输入命令
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
-
进入目录goldfish_2.6.29,运行脚本build_kernel.sh
在终端中打开,输入以下命令./build_kernel.sh
-
返回上一级,现进入目录aosp:/home/linux/aops/aosp运行
在终端中打开,输入以下命令
source ./build/envsetup.sh lunch 1 make -j4
注意!注意!注意!
这一步很耗时间,可能要4个小时而且编译可能出现错误,在make -j4报错error时,按我的另外一篇文章Ubuntu12.04实现Android 4.0源码编译错误解决方法输入命令解决即可,然后继续输入make -j4继续上次的编译步骤,尽量不要make clean,否则会花费很多时间!查看编译生成的文件
注意:
当 lunch 1时 直接生成generic文件即可进行下一步操作。
当 lunch 2时 第一次编译会生成generic_x86
此时需要重启虚拟机,删除generic_x86再次重复make -j4操作即可生成generic文件 -
创建模拟器
进入/home/linux/aosp/android-sdk-linux/tool目录
在终端中打开,输入以下命令./android create avd -n MyPhone -t 1 //Do you wish to create a custom hardware profile [no] //这里输入n ./emulator -avd MyPhone&
-
运行脚本run_emulator.sh
在/home/linux/aosp目录中输入指令./run_emulator.sh
祝大家成功!