编译Android源码需要一些基础库的支持,因此需要事先进行下载和配置。对于32位和64位系统来说,需要安装如下软件包:
$ sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev
另外,对于64位机器,需要额外安装:
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
1、openjdk1.7已经被Ubuntu拿掉,安装时需要指定ppa:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
2、libwxgtk2.8-dev安装出错,提示未定位包
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install libwxgtk2.8-dev
3、Ubuntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:(未测试)
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1
在网友blog,看到以下内容:(未测试)
UB15.10系统:
lib32readline-gplv2-dev 更改为lib32readline6-dev
UB16.04系统:
libwxgtk2.8-dev更改为 libwxgtk3.0-dev
openjdk-7-jdk 更改为 openjdk-8-jdk
Java版本:不同版本的CyanogenMod需要不同版本的JDK(Java开发工具包):
CyanogenMod 7 - 9:Sun / Oracle Java SE 1.6
CyanogenMod 10.1:Sun / Oracle Java SE 1.6或1.7
CyanogenMod 10.2 - 11.0:Sun / Oracle Java SE 1.6或1.7(OpenJDK 1.7没问题,但构建系统将显示一个警告)
CyanogenMod 12.0 - 13.0:OpenJDK 12.0(参见下面的注意对OpenJDK 1.8)
Ubuntu 16.04要启用OpenJDK 1.8支持,需要在/home/.bashrc文件中添加
$ vim ~/.bashrc
export EXPERIMENTAL_USE_JAVA8=true