该系列文章总纲链接:专题分纲目录 Android系统基础
1 安装ubuntu操作系统(光盘/U盘)
修改BIOS,从U盘/光盘启动->开始安装->配置swap分区==内存大小,其余空间ext4分配给/->重启,完成
2 Android系统源码环境 配置
2.1 android源码环境基本配置(常见ubuntu版本)
@1 ubuntu系统10.04-11.10
$sudo apt-get install git gnupg flex bison gperf build-essential zip \
curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev \
libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 \
tofrodos python-markdown libxml2-utils xsltproc
这里注意:在 Ubuntu 10.10 中,请运行以下命令:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
在 Ubuntu 11.10 中,请运行以下命令:
sudo apt-get install libx11-dev:i386
@2 ubuntu系统12.04
可以使用 Ubuntu 12.04 来编译较低版本的 Android。但谷歌的master 或最新推出的一些版本不支持 Ubuntu 12.04。
$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-glx:i386 libgl1-mesa-dev g++-multilib \
mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 \
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
注意:如果需要使用 SELinux 工具进行政策分析,还需要安装 python-networkx
软件包。如果需要使用 LDAP 并且希望运行 ART 主机测试,还需要安装 libnss-sss:i386
软件包。
@3 ubuntu系统14.04
$sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
@4 ubuntu系统18.04
$sudo apt-get install git repo gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
2.2 其他软件安装(非必须)
@1 Ubuntu常见软件安装(18.04版本,其他版本可参照查找源的方式来安装)
$sudo apt-get update
$sudo apt-get install vim tree sl wine putty minicom
$sudo apt-get install samba //启动samba服务器需要在文件路径下执行smb://服务器地址
$sudo apt-get install deepin* //安装 播放器,便于平时测试使用
@2 下载windows版本 sourceinsight3.5,查询 激活码 并安装在Ubuntu上(因为上一步安装了wine,所以可以安装)
@3 安装google浏览器
根据实际情况下载google chrome deb包
32位:https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
64位:https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
对于安装谷歌浏览器,如下所示所示:
$sudo dpkg -i google-chrome-stable_current_amd64.deb,如果报错则执行:
$sudo apt-get -f install
2.3 ccache配置
ccache 是适用于 C 和 C++ 的编译器缓存,有助于提高编译速度。这对于编译服务器和其他高容量生产环境来说尤其有用。ccache 可用作用于加快重新编译速度的编译器缓存。如果您经常使用 make clean
,或者经常在不同的编译产品之间切换,则非常适合使用 ccache。(注意:如果在执行增量编译(例如个人开发者而非编译服务器),ccache 可能会让您为缓存未命中买单,从而减慢编译速度)
要使用 ccache,请在源代码树的根目录下执行以下命令:
export USE_CCACHE=1
export CCACHE_DIR=/<path_of_your_choice>/.ccache
prebuilts/misc/linux-x86/ccache/ccache -M 50G
建议的缓存大小为 50G 到 100G。同时将以下内容添加到 .bashrc
(或等同文件)中:
export USE_CCACHE=1
默认情况下,缓存将存储在 ~/.ccache
下。如果主目录位于 NFS 或一些其他的非本地文件系统中,您还需要在 .bashrc
文件中指定目录。
2.4 使用单独输出目录(非out目录)
默认每次编译的输出都会存储在相应源代码树的 out
目录下。在一些拥有多个存储设备的计算机上,如果将源文件和输出存储在单独的存储卷中,编译速度会更快。若要进一步提高编译速度,可以将输出存储在已针对速度(而非崩溃稳定性)进行优化的文件系统中,这是因为在文件系统损坏时可以重新生成所有文件。要进行这项设置,请导出 OUT_DIR_COMMON_BASE
变量,使其指向将存储输出目录的位置。
export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
对于每个单独的源码树,其输出目录都将以其存放目录命名。例如,如果您有源代码树 /source/master1
和 /source/master2
,并且 OUT_DIR_COMMON_BASE
设为了 /output
,那么输出目录将为 /output/master1
和 /output/master2
。在这种情况下,切勿将多个源代码树存储在具有相同名称的目录下,否则会导致输出目录共享终止,并且会出现不可预知的结果。(注意:只有 Jelly Bean (4.1) 及更高版本(包括 master
分支)支持这种做法。)
3 JDK配置于安装详细说明
3.1 测试JDK
在shell下执行下列操作得到如下结果,表示jdk运行正常
javac -version
java -version
执行这两个操作,查看版本正常则说明jdk安装正确。
3.2 JDK版本与android编环境对应关系说明
@1 对于Android JB和 Android KK,需要用Oracle-jdk1.6版本,环境变量配置如下:
Oracle官网下载JDK 1.6(6u45-linux-x86-64),执行jdk_6u45-linux-x86-64.bin文件
压缩包路径SFT_INSTALL_PATH=/home/wds/Linux_Init_sft
配置/etc/profile,即在文件最后面加上:
JAVA_HOME=SFT_INSTALL_PATH/jdk1.6.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
之后重启即可。
@2 对于AndroidL和Android M,需要用open-jdk1.7版本,环境变量配置如下:由于open-jdk1.7是ubuntu12.04默认自带,因此不需要单独下载与安装。自动安装即可,不需要配置/etc/profile,即在文件最后面加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_111
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export PATH=${ANDROID_HOME}/sdk/tools:${ANDROID_HOME}/sdk/platform-tools:$PATH
之后重启即可。
@3 对于Android N 以及以上版本 则直接使用 OpenJDK-1.8,而这只要直接执行下面命令即可:
$sudo apt-get install openjdk-8*
对于Ubuntu14.04以上 版本,可以通过运行以下命令来更新默认的 Java 版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
在编译过程中,如果您遇到 Java 版本错误,请按照错误的 Java 版本部分中的说明设置其路径。
4 Android Studio安装
本地安装open-jdk,下载android studio,按照README运行软件,进入到目录 android-studio/bin,执行
sudo ./studio
这里会 下载android-SDK,指定SDK路径后开始下载,成功后就开始使用AS了。
5 虚拟机安装指南
特殊说明:如果本地是Ubuntu系统,希望在Linux上安装一个虚拟机 玩windows这样是可以的,但如果本地就是windows,原称访问Ubuntu的话就没有必要了
5.1 VirtualBox安装(ubuntu上安装VirtualBox)
- office软件:{office2003|Word|Excel|PPT|Outlook}+{officeExpend2003|visio}
- 其他软件:{wiznote|qq|notapad|firefox|Sougoupinyin}
5.2 VMWare(Linux-X86-64)安装
下载VMware-Workstation-Full-10.0.3-1895310.x86_64,修改可执行权限,运行安装即可
5.3 虚拟windows安装软件说明
要根据项目实际需要和电脑实际配置来选择不同的模式:
- office软件:{office2010|Word|Excel|PPT|Outlook|OneNote}+{officeExpend2010|visio}
- 常用软件:{notapad++|UltraEdit|SourceInSight|firefox|Sougoupinyin,winrar}