简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
🌻1.前言
本篇目的:Android14之编译镜像命令总结
🌻2.make命令介绍
- 在Linux平台,
make
是一个常用的构建自动化工具,它读取一个名为Makefile
的文件,该文件中定义了一系列的任务和规则,make
根据这些规则来执行命令,主要用于编译和构建软件。
基本概念
- 目标(Target):
Makefile
中的目标通常是文件名,make
会根据规则构建这些目标。目标也可以是标签,称为“伪目标”。 - 依赖(Prerequisites):目标的依赖是构建目标所需的文件或其它目标。
- 命令(Command):当依赖文件更新时,
make
会执行的shell命令。
Makefile 示例
一个简单的 Makefile
可能看起来像这样:
# 这是一个注释
hello: main.o hello.o
gcc main.o hello.o -o hello
main.o: main.c
gcc -c main.c
hello.o: hello.c
gcc -c hello.c
clean:
rm -f main.o hello.o hello
在这个例子中:
hello
是一个目标,它依赖于main.o
和hello.o
。- 当
main.o
或hello.o
更新时,gcc
命令会被用来编译main.c
和hello.c
。 clean
是一个伪目标,它没有依赖,用来清理生成的文件。
常用命令
make
:默认执行Makefile
中第一个目标。make target
:执行Makefile
中名为target
的目标。make -f filename
:使用指定的filename
作为Makefile
。make -j N
:并行执行命令,N
是同时运行的作业数。make --help
:显示帮助信息。
注意事项
Makefile
中的命令必须以Tab
键开始,而不是空格。#
在Makefile
中表示注释。make
会根据文件的修改时间来决定哪些目标需要更新。
make
是一个非常强大和灵活的工具,可以用于各种复杂的构建任务。在Linux和Unix系统中,几乎所有的开源项目都会使用make
来管理构建过程。
🌻3.Android常见镜像编译命令
🐓3.1 编译与打包system.img镜像
# make systemimage -j12 //编译system.img
# make snod -j12 //打包system.img
🐓3.2 编译与打包vendor.img镜像
# make vendorimage -j12 //编译vendor.img
# make vnod -j12 //打包vendor.img
🐓3.3 编译与打包 product.img镜像
# make productimage -j12 //编译product.img
# make pnod -j12 //打包product.img
🐓3.4 编译与打包odm.img
# make odmimage -j12 //编译odm.img
# make onod -j12 //打包:odm.img