提升系统开发效率:Android 系统编译及搜索内容命令

安卓源码快捷编译命令 本文介绍了Android源码编译中常用的高效命令工具集。主要内容包括:1)基础构建命令如lunch(选择编译版本)、m/mmm(模块编译)及其变体;2)快速代码搜索命令如cgrep/jgrep(按语言类型检索);3)目录跳转工具godir/gomod;4)快速镜像重建命令如snod/vnod。文章还列举了tapas/banchan等特殊场景命令,并区分了常用与不常用指令。这些工具能显著提升Android系统开发效率,避免重复操作,建议开发者掌握核心命令(如lunch、mmm、cgrep)并根据需求拓展使用场 阅读详情

背景:

经常在做系统aosp开发编译过程中,主要使用最多的是make命令,搜索代码内容时候用的最常用是grep命令,但其实在aosp系统本身是支持很多高效率的编译和搜索内容命令。这块的高效命令其实在系统源码的 build/envsetup.sh文件中有进行相关的详细定义。
在这里插入图片描述
下面将对这些命令使用进行相关介绍。

构建命令体系

各个命令详解

m 全系统 完整依赖链 全新构建/重大修改后 m -j32

mm 当前目录模块 跳过依赖 模块快速迭代 cd packages/apps/Settings && mm

mmm 指定路径模块 跳过依赖 跨目录模块编译 mmm frameworks/base/core/res

mma 当前目录模块+依赖 递归依赖 接口变更后的安全编译 mma -j16

mmma 指定路径模块+依赖 递归依赖 跨模块修改验证 mmma system/core/

使用案例

# 限定编译特定目标
mmm packages/apps/Calculator:CalculatorTests

# 并行编译优化
mmma -j$(($(nproc)*3/2)) frameworks/base/

# 仅检查依赖不编译
m nothing

# 快速重建system.img
m snod

目录导航命令

croot
功能:快速返回源码根目录

等效命令:cd $(gettop)

godir
功能:智能定位文件路径

参数:

-i:不区分大小写搜索

-n:显示匹配结果但不跳转

示例:

godir AndroidManifest.xml
godir -i R.java

代码搜索命令

cgrep C/C++ 源文件 grep -R --include=.[ch] cgrep “memcpy”

jgrep Java/Kotlin 文件 grep -R --include=*.java jgrep “extends Activity”

ggrep Gradle 脚本 grep -R --include=*.gradle ggrep “minSdkVersion”

resgrep res/.xml 资源文件 grep -R --include=res/.xml resgrep “action.MAIN”

mangrep AndroidManifest.xml grep -R --include=AndroidManifest.xml mangrep “permission”

mgrep Makefile 文件 grep -R --include=Makefile mgrep “LOCAL_MODULE”

sepgrep SELinux 策略文件 grep -R --include=*.te sepgrep “allow system_app”

sgrep 所有源代码文件 grep -R --include=. sgrep “TODO”

使用案例:

# 组合搜索
jgrep -n "Log\." --color=always

# 正则表达式搜索
sgrep -P 'interface\s+I\w+\s*{'

# 排除目录搜索
jgrep "onCreate" --exclude-dir=test

在这里插入图片描述

汇总图

在这里插入图片描述

Android Framework开发之Linux +Vim命令 在Android源码开发中,Linux命令的运用是至关重要的。这些命令不仅帮助开发者有效管理文件、目录和系统资源,还能在源码编译、调试和排错过程中发挥关键作用。以下是对Android源码开发中常用Linux命令的更详细介绍:ls:列出目录内容。:改变当前工作目录。:显示当前工作目录的完整路径。:复制文件或目录。:移动或重命名文件或目录。:删除文件或目录。:创建新目录。:删除空目录。uname:显示系统信息。:显示磁盘空间使用情况。:实时显示系统状态。find:在目录树中查找文件。 阅读详情

相关推荐

Unity安卓无线调试实战:告别数据线,提升开发效率

Android Debug Bridge(ADB)是连接开发机与安卓设备的核心调试工具,它通过客户端-服务器架构实现命令交互与文件传输。传统USB调试依赖物理连接,而无线调试则利用TCP/IP协议,让ADB通过网络与设备通信,其技术价值在于摆脱线缆束缚,实现快速部署与实时调试。在游戏开发、应用测试等高频迭代场景中,无线调试能显著提升开发效率,尤其适用于UI调整与逻辑验证。本文聚焦于Unity引擎下的安卓开发环境,详细解析如何配置ADB无线连接,并针对夜神模拟器等常见平台,提供从原理到实践的完整解决方案,涵盖

weixin_34161029的博客 393

android find 命令详解,Find 命令常用功能详解

find 命令常见用法介绍用来在指定目录中查找文件,如果直接用 find+文件名 表示把当前目录以及子目录找到的文件全部显示出来。用法find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [path...] [expression]选项-H 表示只跟随命令行中指定的符号连接-L 表示跟随所有的符号连接-P 是默认的选项,表...

weixin_35901475的博客 1851

Android源码快速查找文件、搜索字符串和编译

android源码中有文件build/envsetup.sh,文件开头有如下内容: Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment: - croot: Changes directory to the top of the tree. - m:

Harry Zhu的专栏 3200

提升系统开发效率:Android 系统编译及搜索内容高级命令

经常在做系统aosp开发编译过程中,主要使用最多的是make命令,搜索代码内容时候用的最常用是grep命令,但其实在aosp系统本身是支持很多高效率的编译和搜索内容命令。这块的高效命令其实在系统源码的 build/envsetup.sh文件中有进行相关的详细定义。下面将对这些命令使用进行相关介绍。

lijianhua的博客 436

安卓开发效率提升指南:从Gradle优化到高效调试的实战技巧

在软件开发流程中,构建效率与调试成本往往决定了项目交付的节奏。以Gradle为代表的自动化构建系统,通过并行编译与缓存机制显著缩短了编译时间,成为提升开发体验的基础设施之一。而针对性能瓶颈,系统级追踪工具Perfetto能够可视化线程调度与渲染链路,将“猜测式调试”转化为“数据驱动定位”,大幅降低疑难问题的分析耗时。这类方法论不仅适用于应用层,在前后端联调与系统级开发中同样具有普适性——从OpenAPI生成请求代码到本地Mock数据,再到框架层的日志规范,每一环的工程化沉淀都能减少重复劳动。本文从实际开发场

weixin_34021089的博客 244

UE5安卓开发环境配置:XGE编译加速与Vulkan预览全攻略

在跨平台游戏开发中,安卓环境配置是连接PC创作与移动设备部署的关键桥梁,涉及SDK、NDK、JDK等核心工具链的集成。其原理在于通过原生编译工具链将C++代码转化为安卓设备可执行的本地库,并利用现代图形API实现高效渲染。这一过程的技术价值在于构建稳定、高效的移动端开发工作流,直接影响迭代速度与最终性能表现。应用场景广泛覆盖从独立游戏到大型商业项目的安卓平台移植与优化。本文聚焦于通过配置XGE分布式编译来大幅缩短代码构建时间,并启用Vulkan渲染后端实现编辑器内的实时安卓画面预览,从而解决编译效率低下与图

csdn785029689的博客 402

Android开发必备工具

工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充。 1.Android Studio Android程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在Android Studio上面的。Android Studio 是基于 IntelliJ IDEA 且适用于开发 Android 应用的官方集成开发环境 (IDE...

pigdreams的博客 2万+

效率提升100%,10个Java开发必备插件推荐!

作为一个Java开发工程师,每天面对千万行代码总会感到头疼。俗话说:“工欲善其事必先利其器”,高效可用的IDEA插件,既能帮助企业开发团队在开发上更加高效,提高容错性,团队协作更好,有助于提高代码的质量,降低项目维护的难度。那么,今天盘点数强大实用的 IDEA 插件,帮助大家完成日常工作。 1. Alibaba Cloud Toolkit 插件介绍: 首先要推荐的是有着《阿里巴巴 Java 开发手册》配套的代码规范功能、在线诊断工具Arthas等阿里巴巴知名工具加持的Alibaba Cloud Toolki

weixin_45247532的博客 2791

AI加持JADX:安卓逆向反编译代码理解效率提升实战

反编译是将字节码转换为高级语言代码的逆向工程技术,其核心价值在于帮助开发者理解程序逻辑与安全审计。然而,混淆技术通过重命名标识符、加密字符串、打乱控制流等手段,使反编译产物可读性急剧下降,传统静态分析依赖人工经验与关键词匹配,效率低下。AI大模型凭借代码语义理解与泛化能力,可自动推断混淆标识符含义、生成方法摘要、支持语义级搜索,将分析范围从数万方法快速收敛至关键逻辑。在安卓逆向场景中,AI辅助JADX实现标识符重命名、代码摘要生成与数据流追踪,显著降低理解门槛,适用于安全审计、开源学习与自有应用分析。

weixin_32830601的博客 246

Android系统源码开发深入解析与实践

本文还有配套的精品资源,点击获取 简介:本资料包探讨Android系统内部运作机制,通过源码编译、运行时环境、Framework、UI系统、权限管理等方面,指导开发者进行应用开发和系统定制。同时,介绍了如何利用源码进行服务管理、Intent通信、系统启动、驱动开发、性能优化和调试测试,旨在提升开发者对Android平台的理解和应用开发能力。 1. Android源码结...

weixin_30600615的博客 1962

提升Android Studio开发效率的必备插件

Android Studio是由Google官方推出的Android开发环境,是目前Android开发者广泛使用的一款集成开发工具(IDE)。它不仅提供了代码编写、调试、性能分析等基础功能,还集成了丰富的插件生态系统,可以满足开发者从简单到复杂的各种开发需求。与传统的Eclipse相比,Android Studio支持更先进的项目管理和构建系统,它基于IntelliJ IDEA开发,提供了更为智能化的编码辅助、代码审查和重构工具,大大提高了开发效率。

weixin_31569663的博客 913

Android 秒级编译 Freeline

我们知道 Android 的编译很慢,尤其是项目大点的时候,那编译速度简直难以忍受,极大的降低了我们的开发效率,之前的文章「Android 高效调试神器 JRebel」给大家介绍过,但是是付费的,用起来不是那么自由,而今天给大家介绍另外一个强大的工具 – Freeline,绝对秒级编译。什么是 Freeline?Freeline 是蚂蚁金服旗下平台蚂蚁聚宝 Android 团队开发的一款针对 And

stormzhang的专栏 6570

Cadence仿真数字电路功耗

Cadence仿真数字电路功耗 数字电路的功耗采用平均电流乘电源电压获得,所以本文的关键是测量平均电流。 仿真前设置好仿真参数后,在仿真的ADE街边选择:outputs➡to be saved➡select on design 选择电源的负端电流(若选择正端,则电流为负): 选择完成后,在ADE界面讲所选节点的plot也勾选上,点击run。仿真完成后自动显示波形。在波形上选中该电流曲线,右击选择:send to➡calculator 注意上图中,商店前的波形不稳定,需要进行截取。在calculator

qq_41519780的博客 1万+

Android 宣布 Runtime 编译速度史诗级提升:在编译时间上优化了 18%

app 启动更快冷启动更少卡顿低端机更友好安装 / 更新变快同时也展示了教科书级别的优化策略,不仅要看速度,更要看内存、稳定性、可维护性等综合指标,所以官方这份报告不仅仅是技术公告,更是一份优秀的编译器工程的案例研究。

恋猫de小郭的博客 1185

我用 AI Agent 全自动跑 COMSOL 仿真:从建模到后处理,踩了 10+ 个深坑

本文探讨了利用AI通过COMSOL Java API实现AI芯片液冷冷板全流程自动化仿真的实践。针对700W高功耗AI芯片的散热需求,构建了包含4颗Chiplet和微通道冷板的三维液冷模型。通过严格设计的Prompt工程,AI Agent成功完成了从几何建模到结果验证的全过程,最终实现了芯片最高温度54°C的良好散热效果。文章重点分享了10个关键问题的解决经验,包括流体连通性验证、网格顺序控制、离散阶数选择、收敛判据优化等,并建立了包含流场/热场/网格独立性的三重验证体系。实践表明,AI可高效处理重复性工作

sjjsjjsjjsjjsjj的博客 995

ROS2实战:构建模块化启动文件(launch file)以驱动复杂机器人系统

本文详细介绍了ROS2中构建模块化启动文件(launch file)的最佳实践,帮助开发者高效管理复杂机器人系统的节点启动。通过功能分解、参数化设计和嵌套启动等技术,实现批量管理、依赖控制和配置统一,显著提升系统稳定性和调试效率。文章包含实战代码示例和工程化建议,特别适合自动驾驶、物流机器人等场景应用。

weixin_28744613的博客 216

linux android 命令行模式,打造一个全命令行的Android构建系统

"IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定"这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令行工具,因为只有命令行才是最佳的人机交互工具。其实IDE也是底层也是调用命令行工具而已,只不过给普通开发者呈现一个更友好的开发界面。这里可不是宣扬让大家放弃IDE都改命令行,只是每种事物都有他存在的理...

weixin_29901323的博客 476

LoRaWAN协议-物理层(PHY)详解

目录 1 前言 2 物理层包格式 2.1 LoRa调制 2.2 FSK调制 2.3 LR-FHSS 3 Uplink 4 Downlink 1 前言 如图所示,LoRaWAN是一种开放式网络协议,可提供由LoRa联盟标准化和维护的安全双向通信,移动性和本地化服务。该协议做为MAC层,属于数据链路层。其物理层(PHY)实现与其他设备的通信,目前物理层支持LoRa,FSK,LR-FHSS调制。 下图的PHY只标准了LoRa调制,是因为LoRaWAN实际应用中基...

只想.静静的博客 8775

5分钟上手!JADX让Android反编译效率提升10倍的秘密

你是否曾因APK文件无法直接查看源码而苦恼?作为Android开发者,分析第三方应用实现细节、学习优秀代码架构时,反编译工具是必不可少的利器。JADX(Dex to Java decompiler)作为当前最受欢迎的Android反编译工具之一,凭借其高效的代码转换能力和友好的可视化界面,已成为开发者的必备工具。本文将深入解析JADX的五大核心优势,带你快速掌握这款工具的实用技巧。 ## 一、多...

gitblog_00968的博客 418

S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码)

本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。

weixin_29192365的博客 309

Vue2 - 实现H5人脸识别认证与活体检测功能(纯前端免费方案+微信人脸识别接口)完整源码,vue微信公众号网页h5端人脸识别功能人脸核身(微信方案提供后端spring boot+thinkphp)

vue人脸识别插件,vue, h5人脸识别, 微信公众号, 活体检测, 人脸核身,人脸登录、人脸识别,VUE项目-H5端人脸识别功能实现,免费h5人脸识别插件方案,微信公众号H5网页实现人脸识别,vue人脸核身,Vue H5活体检测认证,人脸认证张嘴摇摇头指引动作,人脸核身 微信原生 H5(微信公众号)vue2调用手机摄像头并实现人脸识别的实现,微信h5人脸识别vue项目,PHP人脸识别,java人脸识别,h5页面,有免费的人脸识别接口吗,用于微信公众号及嵌套在微信浏览器,vue3如何实现人脸识别,微信人脸

🏆 前端领域优质创作者 3763

adb android源码分析,Android源码浅析(四)——我在Android开发中经常使用到的adb命令,Linux命令,源码编译命令...

Android源码浅析(四)——我在Android开发中经常使用到的adb命令,Linux命令,源码编译命令我本身平时开发的时候积累的一些命令,但愿对你有所帮助javaadb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的做用。经过adb咱们能够在IDE中调试Android程序,说白了就是debug工具。adb的工做方式比较特殊,采用监听Socket TCP 55...

weixin_39640085的博客 364

LIN协议V2.2A版介绍

IN 协议规范2.2A 版(2010 年 12 月发布)是面向低成本汽车网络的标准,核心采用单主多从架构,支持最高20kbit/s速率,通过单总线实现通信;定义了完整的协议栈(含协议层、传输层、物理层等),规定了帧结构(含 Break 字段、Sync 字节、保护标识符 PID、数据字段、校验和)、5 类帧类型(无条件帧、事件触发帧等)及调度表机制以保障确定性传输;

qflook的博客 319

Android Studio Studio Bot 位置与开启指南:提升开发效率的隐藏利器

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960228的博客 911

永磁同步电机MTPA控制详解:从理论到实践的全方位指南

永磁同步电机(PMSM)凭借其高功率密度卓越的效率以及精准的控制性能,已在工业驱动、电动汽车和家用电器等领域获得广泛应用。而在PMSM的诸多控制策略中,最大转矩电流比(MTPA)控制因其能显著提升电机效率而占据核心地位。在输出特定转矩时,通过优化直轴电流(Id)和交轴电流(Iq)的分配,使定子电流的幅值最小化。对于电机测试工程师而言,理解MTPA意味着掌握了一把提升系统性能的关键钥匙。为什么这一点如此重要?因为定子电流的减小直接带来了铜损的降低。

优快云-新能源汽车研发测试专业博主 520

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Winscope在aosp 13/14/15版本的使用总结
下一篇: User手机上如何抓取界面的布局uiautomatorviewer
千里马学框架
博客等级 码龄6年 1万+粉丝 651原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值