Android源码编译——RK3128开发板基于Android5.1源码编译小记

前言:
本次小记主要分为三段。前两段相当于对源码编译的一个回顾。本次小记主要第三段,记下了编译中出现的几个问题,以便日后需要。
1、编译时编译线程过多。导致编译失败。
2、编译image没问题打包OTA时出现错误。

一、编译环境
1、硬件环境:(以下为官方建议)

编译 Android 对机器的配置要求较高:
64 位 CPU
16GB 物理内存+交换内存

(我是用的是2.0GHz四核处理器J1900。配置相对低很多,所以编译花了20几个小时。 )
2、软件环境:官方需要OpenJDK 7和推荐 Ubuntu 14.04
(Android5.1需要使用OpenJDK 7的版本。而我还是使用的jdk1.7也编译成功了。至于官方为啥不用jdk而选用OpenJDK 7好像是Sun和Google的那场Android官司导致。)
二、系统编译
编译方法和编译Android4.4没啥区别。具体可以参见我的另一篇博文:Android4.4编译环境的搭建和编译
本次编译和之前唯一不同的是在编译完后打包了可以在硬件上刷机或升级的update.zip包。
1、编译OAT升级包
编译方法:
在源码编译完后(也就是执行make等待数小时后)在执行

make otapackage

即可在out/target/product/你使用lunch选择的产品/目录下生成zip包。

三:问题整理
1、编译时在make 后边加了-j4。虽然主频低一点,但起码也是也是个四核。本以为开四个线程编译应该没问题。没想到早上起来查看挂机结果时没编译通过。于是还是老老实实的选择了一个线程编译。有钱了直接整个志强的U来编译算了。
2、源码编译完成了,也生成了img镜像文件。可就是在打包OTA时发生错误。
Android源码编译——RK3128开发板基于Android5.1源码编译小记_第1张图片
每次都是在快输出zip时出错了。而且每次都是同一处。在网上查资料几乎所有的回答都出自同一处。也不知谁是原创。都说是RK的源码中有一处try缩进有问题。跟着资料上对着看也没发现问题。
后来尝试资料中的一个方法发现确实有一个文件没有编译到环境中。

“发现是drmsigntool没有编译进去,于是cd build/tools/drmsigntool/,然后mm -B,再回到源码根目录下make otapackage,然后看到如下错误:”

确实是drmsigntool这个DRM签名工具没有初始化到环境里边。
按资料上说的进入目录编译后在执行

make otapackage

就生成了响应的OTA包。
都说RK的源码有很多问题。由于技术有限。也不知道是不是RK的问题。本次编译完了改天找个开发板升级进去看看能否正常运行。有能力的话再加以学习学习RK3128这个解决方案。

至此本次学习笔记已经整理完毕。希望在与大家分享的同时让自己也可以加深记忆。和大家一起学习一起进步。

扫描下方二维码即可关注我的公众号,想要实时接收博文推送,拿出手机扫码关注公众号吧~

公众号二维码

会不定期的更新相关内容哟 ^_^

你可能感兴趣的:(学习笔记)