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时发生错误。
每次都是在快输出zip时出错了。而且每次都是同一处。在网上查资料几乎所有的回答都出自同一处。也不知谁是原创。都说是RK的源码中有一处try缩进有问题。跟着资料上对着看也没发现问题。
后来尝试资料中的一个方法发现确实有一个文件没有编译到环境中。
“发现是drmsigntool没有编译进去,于是cd build/tools/drmsigntool/,然后mm -B,再回到源码根目录下make otapackage,然后看到如下错误:”
确实是drmsigntool这个DRM签名工具没有初始化到环境里边。
按资料上说的进入目录编译后在执行
make otapackage
就生成了响应的OTA包。
都说RK的源码有很多问题。由于技术有限。也不知道是不是RK的问题。本次编译完了改天找个开发板升级进去看看能否正常运行。有能力的话再加以学习学习RK3128这个解决方案。
至此本次学习笔记已经整理完毕。希望在与大家分享的同时让自己也可以加深记忆。和大家一起学习一起进步。
扫描下方二维码即可关注我的公众号,想要实时接收博文推送,拿出手机扫码关注公众号吧~
会不定期的更新相关内容哟 ^_^
Android源码编译——RK3128开发板基于Android5.1源码编译小记相关推荐
- 20230115下载并编译RK3568开发板的OpenHarmony-3.1-Beta的步骤
20230115下载并编译RK3568开发板的OpenHarmony-3.1-Beta的步骤 2023/1/15 20:48 本文在Ubuntu20.04的64位下操作/执行. libncurses5 ...
- 开发板上烧上android,Android HAL实践:Mini6410开发板上的mokoid
网上有很多人讲Android的HAL,都是基于jollen的实验代码的, 讲的都很好,但是缺少在板子上的实际操作.虽然这些实践步骤做过一次就很熟悉了,但是第一次还是挺麻烦的,要到处找资料,故特地在此将 ...
- PIC以太网开发板——基于微芯最新ENC28J60以太网控制器
PIC以太网开发板--基于微芯最新ENC28J60以太网控制器 PIC以太网开发板--基于微芯最新ENC28J60以太网控制器 导航栏 ENC28J60芯片 ...
- 飞凌嵌入式 OKA40i-C 开发板调试笔记(1)编译+烧录系统
文章目录 准备 A40i Linux SDK 安装 SDK 需要的软件包 编译镜像 开发板与电脑连接 烧录软件及驱动安装 烧录镜像到开发板 串口打印 准备 A40i Linux SDK 将 A40i ...
- 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...
- 抖音seo源码二次开发,短视频seo源码二次开发
抖音seo源码二次开发,短视频seo源码二次开发 开发逻辑及部分代码展示 抖音seo系统前端采用vue 与React技术语言,后端采用jave后台技术语言. 抖音seo是什么技术逻辑呢?seo是搜索引 ...
- 为开发板Arduino Mega or Mega 2560编译时出错
问题: 是在Ubuntu上下载了Arduino IDE,然后在运行Arduino示例里面的代码时,发现无法编译,提示错误"as: 未识别的选项 '-mmcu=avr6', exit stat ...
- 迅为IMX6开发板非设备树源码编译环境搭建(一)
本小节适用 ITOP-IMX6Q(商业级 2G+16G),ITOP-IMX6Q(工业级 1G+8G), ITOP-IMX6D(商业级 1G+8G) 内核版本为 3.0.35 的系统编译. 13.1 编 ...
- iTOP-4412开发板基于Linux-C测试程序的编译和运行
iTOP-4412 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可 以使用 Linux-C 程序来测试硬件以及驱动.而且这些程序很容易移植到 Android.Qt/E 以及 最小文 ...
最新文章
- parallel循环java_Java 8 lambda stream forEach parallel 等循环与Java 7 for each 循环耗时测试...
- 困扰数学家90年的猜想,被计算机搜索30分钟解决了
- 补第一阶段冲刺站立会议3(应发表日期5月15日)
- 前端学习(3262):js高级教程(6)变量
- MySQL 中删除的数据都去哪儿了?
- Kali Linux 秘籍 第七章 权限提升
- LayaAir 定时器 Timer
- PyCharm使用opencv错误解决办法:ModuleNotFoundError: No module named 'cv2'/ImportError: DLL load failed
- 【软件测试基础理论知识】1.1.常见的软件开发模型之———瀑布模型、原型模型、快速原型模型
- 计算机word图标不显示,win7系统中Word文档图标无法正常显示的解决方法
- 大连新知源09年3月RHCE考试通过率90.9% —— 注重能力培养
- 采用非常规方法(非gprecoverseg) 恢复greenplum数据库
- 伦理是智慧的内核驱动
- Linux内核中kzalloc分配内存时用的参数GFP_KERNEL详解
- Java基础 课后作业错题集
- python爬虫之常见的加密方式
- CF1244F Chips
- Ansible playbook中role的用法
- 安装w3af时已经安装retire却提示没有安装的问题
- 电影推荐系统 python简书_基于django和协同过滤/cnn的电影推荐系统