ubuntu 安卓源码编译环境搭建

本文记录了在Ubuntu16.04环境下从源码编译Android7.0的过程,包括环境搭建、编译步骤及遇到的具体问题解决办法,如增加虚拟机内存配置、调整Java虚拟机参数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译环境 ubuntu 16.04 ,下载的最新7.1.1的源码 ,等把这个编译过了再试着编译5.1的 。
初步打算是编出一个镜像 ,然后通过这个镜像创建一个安卓虚拟机 ,这样就相当于模拟出一个安卓设备来 ,然后在这个设备上做一些多用户的开发 。

1、先安装环境 ,直接按照官网的来 ,没有报错 。

sudo apt-get install openjdk-8-jdk

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip

2、同步完源码后 ,开始编译,依然按照官网的来 。
make clobber
. build/envsetup.sh //这里的 . 后面还有个空格啊
lunch //选1
make //没有使用 j4 ,因为老是感觉一旦使用多线程很快就会报错

3、遇到了recipe for target ‘out/build-aosp_arm.ninja’ failed的错误

把虚拟机的内存和cpu调高到3g和4核,重启后可以用了 。
猜测是ninja运行的时候内存不够导致的 。

4、报错
FAILED: out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/dex-dir/classes.dex
/bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/dex-dir/classes.dex.rsp
Communication error with Jack server (56). Try ‘jack-diagnose’
ninja: build stopped: subcommand failed.
build/core/ninja.mk:84: recipe for target ‘ninja_wrapper’ failed
make: * [ninja_wrapper] Error 1
使用 http://www.cnblogs.com/Ph-one/p/5993992.html 的方法 :

修改prebuilts/sdk/tools/jack-admin:

JACK_SERVER_COMMAND=”java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir= TMPDIR JACK_SERVER_
VM_ARGUMENTS -cp LAUNCHERJAR LAUNCHER_NAME”

java虚拟机内存大小自由分配;
JACK_SERVER_COMMAND=”java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir= TMPDIR JACK_SERVER_
VM_ARGUMENTS -Xmx4096m -cp LAUNCHERJAR LAUNCHER_NAME”
手动分配4096 ;
5、依然报错 ,尝试 jack-admin start-server
6、放弃使用ubuntu16.04 ,换为14.04,除了jdk要换为1.7 ,目前编译没有问题 。Android7.0系统编译工具链使用了全新的Jack server来取代以往的编译器工具,以后再学习这种编译方式 。
7、到此为止 ,新出现的问题再开一篇讨论 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小石轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值