Android 4.4.4编译

Android源码学习

Posted by yuchen on March 2, 2016
编译Android4.4.4.html

Android 4.4.4编译

编译系统环境:

java -version:java version “1.6.0_45”

gcc -v:gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1)

g++ -v:gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1)

1.初始化环境变量

$ source build/envsetup.sh
或者$ . build/envsetup.sh

2.选择编译目标

$ lunch aosp_arm-eng

3.构建代码

$ make -j4

4.启动所编译的系统

编译完之后会在out/target/product/generic目录下生成system.img ramdisk.img userdata.img三个镜像文件。

在启动模拟器之前,需要先为模拟器系统设置环境变量,执行gedit ~/.bashrc,新增环境变量如下:

export ANDROID_PRODUCT_OUT=/work/Android/WORKING_DIRECTORY/out/target/product/generic
export ANDROID_PRODUCT_OUT_BIN=/work/Android/WORKING_DIRECTORY/out/host/linux-x86/bin
export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT}

最后,同步这些变化并启动模拟器

$ source ~/.bashrc
$ cd /work/Android/outAndroid/WORKING_DIRECTORY/target/product/generic/
$ emulator -system system.img -data userdata.img -ramdisk ramdisk.img

5.备注:

关于gcc和g++降级
1.首先安装gcc4.4和g++4.4
sudo apt-get install gcc-4.4

sudo apt-get install g++-4.4
2.gcc和g++的降级gcc降级:
sudo rm -rf /usr/bin/gcc  

sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc  

gcc -v
  • g++降级
sudo rm -rf /usr/bin/g++  

sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++  

g++ -v
关于gettex相关函数未定义

两个解决方案如下:

  • 在其对应的Makefile文件中加上一句LDFLAGS+= -lintl
  • 将gcc/g++降级到4.4版本
安装JDK 1.6

6.解决编译错误参考链接


本文总阅读量