前期环境,做编译的机器本身只有8G内存,在编译android7.0/8的源码时会出现JACK-NINJIA错误的提示,简单理解为OOM的提示,即理解为内存不够,需要增加内存,对于土豪可以增加到16G内存,增加编译速度,但是如果没有合适的机会增加到16G内存,编译android7/8时可以对JACK-SERVER进行如下配置,本配置只针对编译机器是8G内存,小于8G请忽略,你该去买个内存了。
1. 下载好对应的AOSP代码,这里不介绍如何下载code
2. 进入AOSP/LINUX/android/prebuilts/sdk
3. 通过vim打开文件java-admin,找到JACK-SERVER位置。
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_
VM_ARGUMENTS -cp $LAUNCHER_JAR $LAUNCHER_NAME"
在如上位置中,系统采用默认方式进行编译,采用默认方式,当然建议内存越大越好,android7/8最少需要16G内存才能完美的编译,如果是8G内存,我们需要修改如下。
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_
VM_ARGUMENTS
-Xmx4096M
-cp $LAUNCHER_JAR $LAUNCHER_NAME"
注意如上-Xmx4096M,使用4G4096M内存选项,对应你的内存是8G。
NINJIA是android在新的AOSP上采用的编译方式,基本的编译原理可以上网查看,我也可以做专栏解释。