Android N 编译环境搭建:
基于Android M编译环境搭建:
1. Installopen JDK 1.8(for N)
安装方法: $ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
2. set openJDK 1.8 environment
命令:$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
3. 将文件prebuilts\sdk\tools\jack-admin中
JACK_SERVER_COMMAND="java-XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR$JACK_SERVER_VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
改为
JACK_SERVER_COMMAND="java-XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR$JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"
其中-Xmx4096m (4096为主机内存的一半左右)
由于MTK推荐Android N使用Ubuntu 14.04系统搭建编译环境,故此又研究了一下Ubuntu14.04编译环境搭建。
1. Ubuntu14.04安装和基本的编译环境搭建请参考附件。
2. 在编译Android N code前一定要把java环境配置成Open-JDK-8的
$ sudoupdate-alternatives --config java
$ sudoupdate-alternatives --config javac
3.
1)修改配置文件$HOME/.jack-settings,设置不同的端口号:
# Server settings
SERVER_HOST=127.0.0.1
SERVER_PORT_SERVICE=8076 改为8086
SERVER_PORT_ADMIN=8077改为8087
# Internal, do not touch
SETTING_VERSION=4
2)修改 $HOME/.jack-server/config.properties 中的端口号
#Tue Sep 13 17:44:41 CST 2016
jack.server.max-jars-size=104857600
jack.server.max-service=4
jack.server.service.port=8076 改为8086
jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296
jack.server.admin.port=8077改为8087
jack.server.config.version=2
jack.server.time-out=7200
PS:如果找不到$HOME/.jack-server/config.properties和 $HOME/.jack-settings这两支文件,就先编译一下code,直到编译出错,会自动生成这两支文件,然后再做上述修改。
4. 如果编译机内存不够16G,请在codebase中做如下修改:
将文件codebase中prebuilts\sdk\tools\jack-admin中
JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8-XX:+TieredCompilation}"
改为
JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Xmx4096m-Dfile.encoding=UTF-8 -XX:+TieredCompilation}"
其中-Xmx4096m (4096为主机内存的一半左右)