Android源码模块编译记录

/ 0评 / 0

编译环境:ubuntu 16.04

      jdk 1.6

      make:3.8.1

需要安装的依赖:

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 m4

在清华aosp镜像站同步的源码,速度会快很多

注意java环境一定要配置完全,如javac,java,javah,javap是否都能正常使用

sudo vi /etc/profile

JAVA_HOME=/home/qtfreet00/jdk1.6.0_45

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

刷新配置:

cd /usr/bin

ln -s -f /usr/java/jdk1.6.0_01/jre/bin/java

ln -s -f /usr/java/jdk1.6.0_01/bin/javac

ln -s -f /usr/java/jdk1.6.0_01/bin/javah

ln -s -f /usr/java/jdk1.6.0_01/bin/javap

此处路径改/usr/java/jdk1.6.0.01成jdk的目录

make版本一定要为3.8.1或者3.8.2

1 下载make-3.81.tar.bz2 
下载地址:http://ftp.gnu.org/gnu/make/

2 解压 
tar -xvf make-3.81.tar.bz2

3 编译 
./configure 
make

4 配置 
export PATH=/你的make路径/make-3.81:$PATH 
source /etc/profile

路径不能有中文

到谷歌官方下载nexus 4 4.4.2的官方驱动文件

https://developers.google.com/android/nexus/drivers#makokrt16s

下载全部的三个文件

解压放到源码目录下

chmod +x 三个sh文件后,分别运行

之后会在源码目录下多出个vendor文件夹

接下来就是编译工作了,我没有按网站上的操作选择增大缓存,我自己给的配置比较高

source build/envsetup.sh

接下来如果直接lunch的话是没有 full_mako-userdebug 选项的,所以直接命令lunch full_mako-userdebug

最后make -X (X为2的倍数,我选择的j16)

漫长的等待

记得单独编译模块前需要先整体编译一次,生成所有必须要的组件

之后定位到某一目录

直接source /build/evensetup.sh

lunch full_mako-userdebug  //适配nexus4

最后 mmm ./路径

如果遇到缺少模块的话,直接在根目录mmm会将模块都编译一次,之后再编译就没有问题了

发表评论

电子邮件地址不会被公开。 必填项已用*标注