Android系统基础(02) 系统源码环境搭建

该系列文章总纲链接:专题分纲目录 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}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图王大胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值