Android Source code 下载和编译

开始前准备

一台电脑,装有Linux系统(当然你要是非要用windows当我没说)
使用Ubuntu的同学可以参照这个Android官方的链接
Android Source Code initializing

安装必要的软件

sudo apt-get install g++ curl flex libxml2-utils git git-core 

当然不能jdk肯定是要安装的。对于15.10之后的ubuntu,其默认的软件仓库中已经包含了jdk8的版本,直接使用命令安装就好。当然也可以通过如下链接自行下载deb包使用dpkg -i 进行安装
openjdk-8
重点下载下面这三个deb包就可以啦

  • openjdk-8-jre-headless_8u45-b14-1_amd64.deb
  • openjdk-8-jre_8u45-b14-1_amd64.deb
  • openjdk-8-jdk_8u45-b14-1_amd64.deb w

下载repo文件

可以通过google官方网站进行下载。

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

不能fan-q的话可以下载这里的repo文件

下载源码

每次下载android 源码的时候,sync git仓库是最费时费力的。这里推荐使用清华大学的android aosp源。我们可以先讲所有的git仓库的下载下来。然后进行同步,这样就快很多。详情可以参照这里Tsinghua AOSP

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar

总共26G的数据,尽可能在晚上下载,避开高峰。下载完成之后当然就是同步啦。

tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

编译

在编译的过程中遇到了不少问题。

  • jdk问题,不要使用甲骨文官方网站的jdk版本。android在编译的时候要求使用openjdk
  • java Xmx size问题(try increasing heap size with java option ‘-xmx’.)。需要修改java Xmx的大小,参照下面的patch修改,主要Xmx2048m。设置完成之后,现将jack server stop,在restartjack-admin stop-server jack-admin start-server
diff --git a/tools/jack-admin b/tools/jack-admin
index ee193fc..33cb913 100755
--- a/tools/jack-admin
+++ b/tools/jack-admin
@@ -451,7 +451,7 @@ case $COMMAND in
     if [ "$RUNNING" = 0 ]; then
       echo "Server is already running"
     else
-      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 -Xmx2048M -cp $LAUNCHER_JAR $LAUNCHER_NAME"
       echo "Launching Jack server" $JACK_SERVER_COMMAND
       (
         trap "" SIGHUP
  • 其他的一些奇葩问题,没解决。最后尝试单独编译systemimage成功了
    Communication error with Jack server (56). Try ‘jack-diagnose’
    android ninja: fatal: fork: Cannot allocate memory
    最后就等着编译完成吧。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值