ubuntu16.04中编译Android11.0

编译过程,先获取到源码。由于是和瑞芯微合作,直接从他们那边拿的源码,搭建过程大同小异。但由于本人是新人菜鸟,在linux上走了些弯路。
首先是文件的处理,.tar.gz格式的压缩包,一共有10个,首先需要将他们合并为一个文件,合并解压,但由于中间包含了pdf格式文档,故解压失败。解压语句将pdf排除即可(正则表达式);
解压完成之后,按照Android编译步骤走,首先编译环境初始化,其次选择编译目标,最后执行编译。中间缺少什么会有相应提示,一般安装即可。其中这些操作需要在对应路径之下。这和windows不同,linux只有在正确路径下操作才有效。否则会提示一系列无法打开文件或没有该目录;
编译步骤前两步基本没有可变的地方,编译目标选自己需要的,不选会是默认第一项。第三项编译的时候,可以自选线程数。make -j16或者make -j8。
遇到的最大的问题是内存问题。由于是在windows里面搭建的ubuntu,本身也没有多少空间。内存分配了25G,所以开了swap。Android编译成功的时候,swap是30个G左右。但是全编译之后,就卡住不动了,还需要再加大。遇到内存问题的时候,编译不会报错,一般就是卡在某一个点不动。我卡的地方是收集所有的ninja文件进行编译的时候,如图所示。加大内存既可以解决。有条件的话,想直接在ubuntu里面进行Android的编译,享受一把奢侈极速的体验;
在这里插入图片描述
最后留个小尾巴,虽然编译是通过了。但是我看Android的工具链当中有一个kati,用于将Android.mk转换为Ninja文件。但是我查看我的源码里面的时候,并没有在相应目录下找到这个工具。11已经将Android.mk全部替换为Android.bp了吗?
Android10的工具链里面其中两个Soong,blueprint都是由Go语言编写。至于Ninja核心是C/C++,部分辅助python,shell。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值