1、安装编译环境:
$
sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
$ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib libswitch-perl
$ sudo apt-get install gcc-arm-linux-gnueabihf libssl1.0.0 libssl-dev p7zip-full
2、常见问题及解决
①编译Android7源码出现:ninja: build stopped: subcommand failed.错误
$ vi prebuilts/sdk/tools/jack-admin
1.找到如下语句:
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
2.将上述语句修改为:
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
主要是添加了-Xmx4096m参数,接下来在源码目录下执行如下命令重启jack-admin服务:
1
$ ./prebuilts/sdk/tools/jack-admin
stop
-
server
2
$ ./prebuilts/sdk/tools/jack-
admin
start
-
server
再重新make就可以了。
②ubuntu14.04 内核编译,/bin/sh: 1: lzop: not found问题
在编译imx 4.1.15 内核过程中在最后生成内核报:
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
make[2]: Warning: File `arch/arm/boot/compressed/../Image' has modification time 0.75 s in the future
LZO arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [uImage] Error 2
度娘一下,说是缺少lzop ,
那么就安装下:
sudo apt-get install lzop
正在读取软件包列表... 有错误!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages
E: 无法解析或打开软件包的列表或是状态文件。
还报错误,依然度娘:
$ sudo rm /var/lib/apt/lists/* -vf
$ sudo apt-get update
$ sudo apt-get install lzop
然后再编译内核,完美解决。