IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android系统10 RK3399 init进程启动(五) build源码 -> 正文阅读

[移动开发]Android系统10 RK3399 init进程启动(五) build源码

? 配套系列教学视频链接:

? ? ??安卓系列教程之ROM系统开发-百问100ask

说明

系统:Android10.0

设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

? ? ? ? 开发板启动之后, 就需要通过自己编译源码来制作镜像了,如果是在公司里面开发, 也是基于一个BSP包进行开发, 从0开始移植源码的概率还是比较小。通过这个过程, 慢慢建立对瑞星微平台开发知识的积累过程。


一, 环境搭建

本文档基于X86 64位的Ubuntu 16.04 桌面版本。

安装OpenJDK 8:

sudo apt-get update

sudo apt install -y openjdk-8-jdk

安装编译所需依赖(x86)的软件包

sudo apt-get ?install -y openjdk-8-jdk

sudo apt-get??install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib

sudo apt-get??install -y git flex bison gperf build-essential libncurses5-dev:i386

sudo apt-get ?install -y tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo apt-get ?install -y dpkg-dev libsdl1.2-dev libesd0-dev

sudo apt-get ?install -y git-core gnupg flex bison gperf build-essential ?

sudo apt-get ?install -y zip curl zlib1g-dev gcc-multilib g++-multilib

sudo apt-get ?install -y libc6-dev-i386

sudo apt-get ?install -y lib32ncurses5-dev x11proto-core-dev libx11-dev

sudo apt-get ?install -y libgl1-mesa-dev libxml2-utils xsltproc unzip m4

sudo apt-get ?install -y lib32z1-dev ccache

sudo apt-get install -y bc python flex bison gperf libsdl-dev libesd0-dev build-essential zip curl

sudo apt-get install?-y libssl-dev??liblz4-tool

sudo apt-get install -y libesd-java libwxgtk3.0-dev squashfs-tools ??pngcrush schedtool libxml2

sudo apt-get install -y lzop ?schedtool ??lib32readline-dev ?libswitch-perl libssl-dev

?以上部分软件并非必须, 也有部分是重复的, 直接复制粘贴到命令行即可。

二, 下载源码

据Firefly官网下载方法下载源码,得到Firefly-RK3399_Android10.0_git_20210114:

编译 Android10.0 固件 — Firefly Wiki

得到如下:

将两个7z文件,以及bundle中7z文件上传到编译机器中, 并解压源码:

#1. 新建YOURDIR目录, 用于存放7z文件, 你自己命名即可

mkdir ?~/YOURDIR ????

cd ~/YOURDIR

#2. 将Firefly-RK3399_Android10.0_git_20210114的两个7z文件拷贝到YOURDIR目录.并解压Android10 SDK源码

7z x ./Firefly-RK3399_Android10.0_git_20210114.7z.001 -ork3399_Android10.0 ??

#注意:根据提示安装7z命令 ??

#3. 从git仓库拉出源码

cd ?./rk3399_Android10.0

git reset --hard ??

#4. 将?rk3399-android10.0-bundle.7z?也移动到rk3399_Android10.0目录中解压

7z x rk3399-android10.0-bundle.7z ?-r -o. && mv rk3399-android10.0-bundle/ .bundle/

#5. 更新SDK,并且后续更新不需要再次拉取远程仓库,直接执行以下命令即可

.bundle/update

#6. 按照提示已经更新内容到 FETCH_HEAD,同步FETCH_HEAD到firefly分支

git rebase FETCH_HEAD

三, 编译源码

我们使用的rk3399-roc-pc-plus开发板没有配置EMMC, 触摸屏,以及LCD, 但是该开发板引出HDMI接口,直接通过HDMI线接上PC的显示屏就可以看到界面,你只需要把这个开发板当成一个电脑来看即可,通过USB鼠标和键盘就能实现对Android系统的输入操控, 当然后面我们通过投屏软件来对开发板进行操控。

接下来就针对HDMI+DP 显示版本的源码编译:

cd ?~/YOURDIR?/rk3399_Android10.0

# 一次性将uboot, kernel, android源码编译出来

./FFTools/make.sh -d rk3399-roc-pc-plus -j8 -l rk3399_roc_pc_plus-userdebug

编译时间取决于每个人的电脑性能, 本文章用的真机,大概2-3个小时就可以编完, 如果是虚拟机的话, 基本需要10几个小时左右, 如果大家编译出现问题, 一般都可能是缺失某些软件包, 通过关键词搜索百度,基本都解决,另外就可能是内存不够, 如:

可以参考以下链接来解决:

编译安卓源码报错:OpenJDK 64-Bit Server VM warning:INFO:os::commit_memory(...)failed; error='...' (errno=12)_夜月枫雪-CSDN博客

?四, 打包统一镜像

./FFTools/mkupdate/mkupdate.sh -l rk3399_roc_pc_plus-userdebug

打包完成后将在rockdev/Image-XXX/ 目录下生成统一固件: product名XXX_XXX_日期XXX.img

五, 烧录镜像和系统启动

参考上一篇文章:Android系统10 RK3399 ini进程启动(三) RK3399开发板运行官方镜像_ldswfun的专栏-CSDN博客

总结

作为初学者,或者开始接触新平台, 搭建环境是比较费时间的, 只要把环境搭好, 后面开发就快了。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:40:07  更:2021-10-30 12:41:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:16:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码