ubuntu15.10 build android源码踩坑全集。

我用了一台四核6G内存的ubuntu 15.10的机器做编译环境,整个ubuntu运行在Mac下的VirtualBox里面。整个过程中碰到了数个大大小小的坑,记录以备忘。

 

编译android源码过程中的各种java gc溢出问题。参看前一个blog,在编译前需要修改如下地方。

1. prebuilts/sdk/tools/jack-admin.sh。在start-server后面直接加参数JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx6144M -cp $LAUNCHER_JAR $LAUNCHER_NAME"

2. build/core/config.mk。这个文件里面有两处,一狠心,全都改成6144M。  

    1) JILL :=java -Xmx6144m -jar $(JILL_JAR)

    2) APICHECK_COMMAND := $(APICHECK) -JXmx6144m -J"classpath $(APICHECK_CLASSPATH)"

3. external/guava/guava-gwt/pom.xml: -Xms6144m -Xmx6144m -Xss1024k

 

此外,大概我的Ubuntu虚拟机内存远小于官方文档要求的16G(只分配了6G),所以用make -j4 在build过程中多次导致visual box挂掉,不知道是不是人品爆发,用make -j4 -l2.5解决了这个问题。

 

搞定了build,下一步是导入到android studio中。

1. 默认没有android studio认识的工程文件。

1)mmm development/tools/idegen/

2)development/tools/idegen/idegen.sh

2.打开android studio显示inotify警告

1)在etc/sysctl.conf中加入fs.inotify.max_user_watches = 524288

2)运行sudo sysctl -p

3)重新打开android studio

3.android studio提示需要oracle的jdk而不是openjdk(尼玛android source build又要求open jdk,傻逼java)

1)sudo add-apt-repository ppa:webupd8team/java

2)sudo apt-get update

3)sudo apt-get install oracle-java8-installer

 

 

你可能感兴趣的:(ubuntu15.10 build android源码踩坑全集。)