android刻录软件开发,基于i.MX8开发板进行安卓Android9.0编译和开发

本文主要是介绍android刻录软件开发,基于i.MX8开发板进行安卓Android9.0编译和开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安卓 Android 凭借其丰富的生态环境,以及快捷的应用开发和分发,获得了广泛的市场关注。米尔最新基于 NXP iMX8 处理器的MYD-JX8MX核心板及开发板也提供了Android 9.0支持。下面我们将介绍如从源码开始编译安卓Android 9.0。

部署开发环境

开发前需要在PC安装好Linux操作系统,推荐使⽤Ubuntu 16.04 64bit发行版,8G内存, 500G以上空闲硬盘。连接网线并配 置好网络,后续操作需要连接互联网安装或下载相关软件包。可以参考NXP官方文档 《Android_User's_Guide.pdf》。

替换Ubuntu软件源  操作步骤如下:

1.备份源 cp /etc/apt/sources.list /etc/apt/sources.list-bak

2.复制16.04清华源内容到此/etc/apt/sources.list 文件。

3.更新源

apt-get update

PS: 如遇到appstream3报错可以先删除软件包,再更新。

安装必备软件包

新装Ubuntu系统还需要安装一些常用软件,执行如下命令进行安装。

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsd l1.2-dev u-boot-tools

sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff cu rl lzop asciidoc

设置repo文件

repo是用来下载资源文件,存放在03-Tools/Repo 目录,如下操作将此文件添加到用户环境中。

mkdir ~/bin

cp ~/03-Tools/Repo/repo ~/bin

chmod a+x ~/bin/repo

export PATH=~/bin:$PATH

配置git

资源下载时需要用到git,如下操作进行基本配置,用户名和邮箱改成户名对于名称。

git config --global user.name "abc123"

git config --global user.email "def456@gmail.com"

git config --list

3. Android系统烧录和编译

Android 镜像编译需要很多时间,可以用编译好的镜像烧录到开发板来看效果,烧录采用UUU 烧录。 这里本章节会先介绍如何 将镜像烧录到EMMC 和 SD 卡中,然后介绍编译镜像方法。

3.1 Android镜像烧录EMMC方法

编译好的镜像位于02-Image 目录,将android_p9.0.0_2.0.0-ga_image_8mq-myd-MT53D512M32D2DS-053.zip 放到 WINDOWS系统下解压。

UUU烧录会建立软链接,所以请用管理员权限打开cmd,如下图所示:

48e2ba0072681d0a06b41e74785cf619.png

跳转到解压目录中,执行

uuu_imx_android_flash.bat -f imx8mq -a -e -c 7

d6fb1bdf21ec84026490faa9ba601301.png

接下来请确保开发板TF卡槽没有插如TF卡, typec口一端 接电脑,另一端接底板的tyepC口(J8),拨码开关设置成 (sw1)LLHL (sw2)HL,然后上电。

bb652318626850f38f5622c2e137b94d.png

烧录过程如下:

e4f3412083eca58cfff5b3e3609935ac.png

烧录完后,将拨码开关设置为 (sw1)LLHL (sw2) LH 即可启动。

3.2 Android镜像烧录SD方法

编译好的镜像位于02-Image 目录,将android_p9.0.0_2.0.0-ga_image_8mq-myd-MT53D512M32D2DS-053.zip放到 WINDOWS系统下解压。 UUU烧录会建立软链接,所以请用管理员权限打开cmd,如下图所示:

8dc7b1e7d58f1628927f018c4d90184f.png

跳转到解压目录中,执行

uuu_imx_android_flash.bat -f imx8mq -a -e -c 7 -t sd

47e1b9fe796275364cd443cf56703c80.png

接下来请确保开发板TF卡槽没有插如TF卡, typec一端 接电脑,另一端接底板的tyepC口(J8),拨码开关设置成 (sw1)HHLL (sw2)HL,然后上电。

ed03cd49a6c281ea1bffdba72b834fc9.png

烧录过程如下:

6db5ec8285966eaa9a9bc9971b3ad28e.png

达到3/3后 插入TF卡,请注意这个时间。

f824eb4637cc4fd00d0a4fab2a67b908.png

烧录完后,将拨码开关设置为 (sw1)HHLL (sw2) LH 即可启动。

3.3 Android镜像编译方法

请先解压源码 myir_android9.0.0_2.0.0.tar.gz,然后执行 source myir_build.sh 即可开始编译

mkdir android_dir

tar -zxf myir_android9.0.0_2.0.0.tar.gz -C android_dir

cd android_dir

source myir_build.sh

myir_build.sh中

snip

#build_bootloader

#build_kernel

#build_dtbo

make -j4 2>&1 | tee build-log.txt

build_bootloader 编译

uboot build_kernel 编译

kernel build_dtbo 编译dtbo文件

make -j4 2>&1 | tee build-log.txt 完整编译

这篇关于android刻录软件开发,基于i.MX8开发板进行安卓Android9.0编译和开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225476

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb