全志H713 Android 11 :给AOSP源码,新增一个Product

文章目录

  • 一、卷首
  • 二、新增device目录
    • 2.1 基本信息
    • 2.2 操作步骤
    • 2.3 编辑h713\_tuna\_p3\_myboard.mk
    • 2.4 编辑AndroidProducts.mk
  • 三、新增内核配置
    • 3.1 新增config目录
    • 3.2 新增defconfig文件
  • 四、差异列表
    • 4.1 git add 之前
    • 4.2 git add 之后
  • 五、编译
    • 5.1 编译kernel
    • 5.2 编译Android

一、卷首

在开启一个新的android案子时,为了和原有项目区分开,一般均需要创建新产品自己的device或者Product目录。本文即以全志H713平台为例子,介绍新增一个名为myboard的产品。同时因为其派生自公版h713-tuna_p3,所以将其源码目录命名为h713-tuna_p3_myboard。

二、新增device目录

2.1 基本信息

  • 确定产品基于device/softwinner/ares/h713-tuna_p3,也就是和h713-tuna_p3比较像
  • 新board,或者新产品的名字叫:h713-tuna_p3_myboard

2.2 操作步骤

(1)cp -rf h713-tuna_p3 h713-tuna_p3_myboard ,可对比类似产品,看是否有Product差异配置,本案例此处完全相同
(2)cp h713_tuna_p3.mk h713_tuna_p3_myboard.mk,同理,本案例需修改
(3)编辑h713_tuna_p3_myboard.mk
(4)编辑AndroidProducts.mk,新增产品选项

2.3 编辑h713_tuna_p3_myboard.mk

  • 新增并修改A:\works\aw\android\device\softwinner\ares\h713_tuna_p3_myboard.mk
  • 通过和相似产品的mk文件进行对比,即可得知需要配置的项目
  • 修改项目如下
PRODUCT_NAME := h713_tuna_p3_myboard
PRODUCT_DEVICE := h713-tuna_p3_myboard
PRODUCT_BOARD := tuna_p3_myboard
PRODUCT_MODEL := QUAD-CORE h713 tuna_p3_myboard

2.4 编辑AndroidProducts.mk

  • 如下,增加如下修改
diff --git a/device/softwinner/ares/AndroidProducts.mk b/device/softwinner/ares/AndroidProducts.mk
index 7a48abbb78..b3e7173f32 100644
--- a/device/softwinner/ares/AndroidProducts.mk
+++ b/device/softwinner/ares/AndroidProducts.mk
@@ -17,6 +17,7 @@PRODUCT_MAKEFILES := \$(LOCAL_DIR)/h713_tuna_p3.mk \$(LOCAL_DIR)/h713_tuna_perf1.mk \
+    $(LOCAL_DIR)/h713_tuna_p3_myboard.mk \$(LOCAL_DIR)/h713m_tuna_p3.mk \$(LOCAL_DIR)/h716m_tuna_p3.mk \$(LOCAL_DIR)/tv303c2_tuna_p4.mk \
@@ -37,6 +38,8 @@ COMMON_LUNCH_CHOICES := \h713_tuna_p3-user \h713_tuna_perf1-userdebug \h713_tuna_perf1-user \
+    h713_tuna_p3_myboard-userdebug \
+    h713_tuna_p3_myboard-user \h713m_tuna_p3-userdebug \h713m_tuna_p3-user \h716m_tuna_p3-userdebug \

三、新增内核配置

3.1 新增config目录

  • 产品派生自tuna_p3公版,所以直接复制即可
cd longan/device/config/chips/h713/configs/
cp -rf  tuna_p3  tuna_p3_myboard

3.2 新增defconfig文件

  • 产品派生自tuna_p3公版,所以直接复制即可
cd longan/kernel/linux-5.4/arch/arm/configs/
cp sun50iw12p1smp_android_tuna_defconfig  sun50iw12p1smp_android_tuna_myboard_defconfig
  • 同时修改 configs\tuna_p3\android\BoardConfig.mk,将defconfig执行我们新增的这个配置:
LICHEE_KERN_DEFCONF:=sun50iw12p1smp_android_tuna_myboard_defconfig

四、差异列表

4.1 git add 之前

szhou@oa-R630:~/works/aw/android$ git status .
On branch dev_myboard
Your branch is up to date with 'origin/dev_myboard'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   device/softwinner/ares/AndroidProducts.mkUntracked files:(use "git add <file>..." to include in what will be committed)device/softwinner/ares/h713-tuna_p3_myboard/device/softwinner/ares/h713_tuna_p3_myboard.mklongan/device/config/chips/h713/configs/tuna_p3_myboard/longan/kernel/linux-5.4/arch/arm/configs/sun50iw12p1smp_android_tuna_myboard_defconfigIt took 2.79 seconds to enumerate untracked files. 'status -uno'
may speed it up, but you have to be careful not to forget to add
new files yourself (see 'git help status').
no changes added to commit (use "git add" and/or "git commit -a")
szhou@oa-R630:~/works/aw/android$ 

4.2 git add 之后

Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   device/softwinner/ares/AndroidProducts.mknew file:   device/softwinner/ares/h713-tuna_p3_myboard/BoardConfig.mknew file:   device/softwinner/ares/h713-tuna_p3_myboard/audio/audio_mixer_paths.xmlnew file:   device/softwinner/ares/h713-tuna_p3_myboard/audio/bootanimation.zipnew file:   device/softwinner/ares/h713-tuna_p3_myboard/camera/camera.cfgnew file:   device/softwinner/ares/h713-tuna_p3_myboard/camera/config.mknew file:   device/softwinner/ares/h713-tuna_p3_myboard/camera/hawkview/sensor_list_cfg.ininew file:   device/softwinner/ares/h713-tuna_p3_myboard/camera/init.camera.rcnew file:   device/softwinner/ares/h713-tuna_p3_myboard/camera/media_profiles.xmlnew file:   device/softwinner/ares/h713-tuna_p3_myboard/input/config.mknew file:   device/softwinner/ares/h713-tuna_p3_myboard/input/gsensor.cfgnew file:   device/softwinner/ares/h713-tuna_p3_myboard/input/init.input.rcnew file:   device/softwinner/ares/h713-tuna_p3_myboard/input/sunxi-keyboard.klnew file:   device/softwinner/ares/h713-tuna_p3_myboard/panel_config/panel_config.ininew file:   device/softwinner/ares/h713-tuna_p3_myboard/secure/config.mknew file:   device/softwinner/ares/h713-tuna_p3_myboard/system/awbms_confignew file:   device/softwinner/ares/h713-tuna_p3_myboard/system/dragon_toc.cfgnew file:   device/softwinner/ares/h713-tuna_p3_myboard/system/env.cfgnew file:   device/softwinner/ares/h713-tuna_p3_myboard/system/sys_partition.fexnew file:   device/softwinner/ares/h713-tuna_p3_myboard/system/vendor_ramdisk.modulesnew file:   device/softwinner/ares/h713_tuna_p3_myboard.mknew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/android/BoardConfig.mknew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/android/sys_partition.fexnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/arisc.confignew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/board-min.dtsnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/board.dtsnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/dragonboard/BoardConfig.mknew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/dragonboard/env.cfgnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/dragonboard/sys_partition.fexnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/dragonboard/test_config.fexnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/linux-5.4/board.dtsnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/longan/BoardConfig.mknew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/reserve0/panel_config.ininew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/sys_config.fexnew file:   longan/device/config/chips/h713/configs/tuna_p3_myboard/uboot-board.dtsnew file:   longan/kernel/linux-5.4/arch/arm/configs/sun50iw12p1smp_android_tuna_myboard_defconfig

五、编译

5.1 编译kernel

szhou@bc01-R630:~/works/aw/android/longan$ ./build.sh configWelcome to mkscript setup progress
All available platform:0. android1. linux
Choice [android]: 0
All available ic:0. h7131. h713m2. h716m3. tv303-c14. tv303-c2
Choice [h713]: 0
All available board:0. ft1. tuna_p32. tuna_p3_myboard3. tuna_perf14. tuna_qa
Choice [tuna_p3_myboard]: 2
All available flash:0. default1. nor
Choice [default]: 0
All available arch:0. arm1. arm64
Choice [arm]: 0
INFO: Prepare toolchain ...
……略……
szhou@bc01-R630:~/works/aw/android/longan$ 
szhou@bc01-R630:~/works/aw/android/longan$ ./build.sh 

5.2 编译Android

szhou@bc01-R630:~/works/aw/android$ source build/envsetup.sh 
szhou@bc01-R630:~/works/aw/android$ lunch You're building on LinuxLunch menu... pick a combo:1. aosp_arm-eng2. aosp_arm64-eng3. aosp_x86-eng4. aosp_x86_64-eng5. h713_tuna_p3-user6. h713_tuna_p3-userdebug7. h713_tuna_p3_myboard-user8. h713_tuna_p3_myboard-userdebug9. h713_tuna_perf1-user10. h713_tuna_perf1-userdebug
……略……Which would you like? [aosp_arm-eng] 8
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=h713_tuna_p3_myboard
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-91-generic-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RP1A.201005.006
OUT_DIR=out
============================================
szhou@bc01-R630:~/works/aw/android$ make -j32 & pack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成MongoDB(3)|(MongoTemplate的List操作)

SpringBoot集成MongoDB&#xff08;3&#xff09;|&#xff08;MongoTemplate的List操作&#xff09; 文章目录 SpringBoot集成MongoDB&#xff08;3&#xff09;|&#xff08;MongoTemplate的List操作&#xff09;[TOC] 前言一、场景说明一、向数组字段添加元素二、从数组中删…

机器学习 低代码 ML:PyCaret 的使用

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

VirtualBox中Ubuntu硬盘扩容

1.选中要扩容的虚拟机点击属性按钮&#xff0c;选择存储后点击控制器&#xff1a;STAT右边的 按钮 2.创建虚拟硬盘 在弹出框中选择创建按钮&#xff0c;选择VDI后点击下一步按钮 选择动态分配后点击下一步按钮 3.设置文件位置和大小 选择要保存的虚拟硬盘文件路径&#xff0c…

会计试算平衡

目录 一. 试算平衡的意义二. 试算平衡的原理和内容三. 试算平衡表 \quad 一. 试算平衡的意义 \quad ①验证错误 ②便于编制会计报表 试算表根据各分类账借贷余额汇总编制而成&#xff0c;依据试算表编制会计报表将比直接依据分类账来编制更为方便,拥有大量分类账的企业尤为便捷…

领导最反感下属这3种行为以及解决方法,看看自己有过吗

目录 一、懒惰&#xff0c;尤其是脑子懒的人 1、首先&#xff0c;遇到问题学会自己去网上找答案 2、其次&#xff0c;带着两个及以上的方案 二、经常跟领导唱反调 1、首先&#xff0c;不要在公开场合进行反对&#xff0c;要学会给领导留足面子。 2、其次&#xff0c;一定…

basic CNN

文章目录 回顾卷积神经网络卷积卷积核卷积过程卷积后图像尺寸计算公式&#xff1a;代码 padding代码 Stride代码 MaxPooling代码 一个简单的卷积神经网络用卷积神经网络来对MINIST数据集进行分类如何使用GPU代码 练习 回顾 下面这种由线形层构成的网络是全连接网络。 对于图像…

分治 (地毯填补问题)

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里&#xff0c;有一座宫殿。宫殿里有个四四方方的格子迷宫&#xff0c;国王选择驸马的方法非常特殊&#xff0c;也非常简单&#xff1a;公主就站在其中一个方格子上&#xff0c;只要谁能用地毯将除公主站立的地方外的所有地…

加与不加-的区别还是有的

文章目录 su [user] 和 su - [user]的区别&#xff1a; su [user] 和 su - [user]的区别&#xff1a; su [user]切换到其他用户&#xff0c;但是不切换环境变量&#xff0c;su - [user]则是完整的切换到新的用户环境。 如&#xff1a; $ pwd /root$ su oper $ pwd /root$…

万户 ezOFFICE DocumentEdit_unite.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Python下载安装与环境配置

本文将指导您完成Python的下载、安装以及环境配置过程&#xff0c;确保您在编写和运行Python代码时能够获得最佳体验。我们将提供详细的步骤和代码示例&#xff0c;帮助您顺利完成设置。 一、Python下载与安装 访问Python官网&#xff1a;首先&#xff0c;您需要访问Python的官…

Pycharm 关闭/退出烦人的Pytest模式

Pycharm 遇到&#xff1a;Run Python tests in ***.py &#xff0c;但很多时候我们并不需要&#xff0c;真心烦人&#xff01; 如何解决: 1 打开File-Settings &#xff08;图片是新版界面&#xff0c;旧版同样操作&#xff09; 2 Tools 中的Python Integrated Tools 在Tes…

Kerberos安装

1 KDC安装配置 1.1 获取kdc安装包 安装kdc的节点需要获取krb5-server、krb5-libs、krb5-workstation这三个安装包&#xff0c;通过yum源获取。 yum install krb5-server krb5-libs krb5-workstation -y 1.2 修改kerberos kdc kdc.conf配置文件 1.[rootdap81 ~]# vim /var…

LeetCode —— 137. 只出现一次的数字 II

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

第17次修改了可删除可持久保存的前端html备忘录:增加年月日星期,增加倒计时,更改保存区名称可以多个备忘录保存不一样的信息,匹配背景主题:现代深色

第17次修改了可删除可持久保存的前端html备忘录&#xff1a;增加年月日星期&#xff0c;增加倒计时&#xff0c;更改保存区名称可以多个备忘录保存不一样的信息&#xff0c;匹配背景主题&#xff1a;现代深色 备忘录代码&#xff1a; <!DOCTYPE html> <html lang&quo…

“死“社群先不要扔,想办法激活一下,隔壁的运营都馋哭了

私域运营已成为当下很多企业寻求增长的标配。在这过程中&#xff0c;社群运营就是极为重要的一个环节。过去我们为了流量&#xff0c;疯狂建群拉人。但建社群容易活跃难&#xff0c;活跃一段时间后&#xff0c;社群会越来越安静。 不仅如此&#xff0c;群主和管理员也渐渐疏于…

c++ 字符串切分split

c 字符串切分split 的举例实现 一共给出了四种方式 1、 strtok 2、 stringstream 3、 字符串查找 4、 基于封装的方式&#xff0c;提供了 c11 foreach 接口 代码 vector<string> split(string s) {vector<string> res;const char *p strtok((char *) s.c_str(),…

hbuilderx uniapp运行到真机控制台显示手机端调试基座版本号1.0.0,调用uni.share提示打包时未添加share模块

记录一个困扰了几天的一个蠢问题&#xff0c;发现真相的我又气又笑。 由于刚开始接触uniapp 移动端开发&#xff0c;有个需求需要使用uni.share API&#xff0c;但是我运行项目老提示打包时没配置share模块 我确实没在manifest内配置。网上搜了一些资料&#xff0c;但是我看官…

在Excel把两个单元格的内容,合并后显示在第三个单元格

在Excel中&#xff0c;将两个单元格的内容合并显示到第三个单元格有几种方法&#xff1a; 1. 使用 CONCATENATE 函数&#xff08;在较早版本的 Excel 中&#xff09;&#xff1a; 在目标单元格&#xff08;例如 C1&#xff09;中输入以下公式&#xff1a; CONCATENATE(A…

比Filebeat更强大的日志收集工具-Fluent bit的http插件实战

文章目录 1.前言2. fluent bit http插件配置以及参数详解3. Http 接口服务3.1 开发Http 接口服务3.2 重启fluent bit向http web服务发送数据 1.前言 Fluent Bit 的 HTTP 插件提供了一种灵活而通用的机制&#xff0c;可用于将日志数据 从各种环境中传输到指定的远程服务器&#…

EDR、SIEM、SOAR 和 XDR 的区别

在一个名为网络安全谷的神秘小镇&#xff0c;居住着四位守护者&#xff0c;他们分别是EDR&#xff08;艾迪&#xff09;、SIEM&#xff08;西姆&#xff09;、SOAR&#xff08;索亚&#xff09;和XDR&#xff08;艾克斯&#xff09;。他们各自拥有独特的能力&#xff0c;共同守…