AOSP Framework開發的一些超方便的快捷命令

在系統源碼中發現的一些命令和快捷方式。我們在編譯源碼之前執行的source build/envsetup.sh,通過cat build/envsetup.sh發現如下命令

- lunch:      lunch <product_name>-<build_variant>Selects <product_name> as the product to build, and <build_variant> as the variant tobuild, and stores those selections in the environment to be read by subsequentinvocations of 'm' etc.
- tapas:      tapas [<App1> <App2> ...] [arm|x86|arm64|x86_64] [eng|userdebug|user]Sets up the build environment for building unbundled apps (APKs).
- banchan:    banchan <module1> [<module2> ...] [arm|x86|arm64|x86_64] [eng|userdebug|user]Sets up the build environment for building unbundled modules (APEXes).
- croot:      Changes directory to the top of the tree, or a subdirectory thereof.
- m:          Makes from the top of the tree.
- mm:         Builds and installs all of the modules in the current directory, and theirdependencies.
- mmm:        Builds and installs all of the modules in the supplied directories, and theirdependencies.To limit the modules being built use the syntax: mmm dir/:target1,target2.
- mma:        Same as 'mm'
- mmma:       Same as 'mmm'
- provision:  Flash device with all required partitions. Options will be passed on to fastboot.
- cgrep:      Greps on all local C/C++ files.
- ggrep:      Greps on all local Gradle files.
- gogrep:     Greps on all local Go files.
- jgrep:      Greps on all local Java files.
- ktgrep:     Greps on all local Kotlin files.
- resgrep:    Greps on all local res/*.xml files.
- mangrep:    Greps on all local AndroidManifest.xml files.
- mgrep:      Greps on all local Makefiles and *.bp files.
- owngrep:    Greps on all local OWNERS files.
- rsgrep:     Greps on all local Rust files.
- sepgrep:    Greps on all local sepolicy files.
- sgrep:      Greps on all local source files.
- godir:      Go to the directory containing a file.
- allmod:     List all modules.
- gomod:      Go to the directory containing a module.
- pathmod:    Get the directory containing a module.
- outmod:     Gets the location of a module's installed outputs with a certain extension.
- dirmods:    Gets the modules defined in a given directory.
- installmod: Adb installs a module's built APK.
- refreshmod: Refresh list of modules for allmod/gomod/pathmod/outmod/installmod.
- syswrite:   Remount partitions (e.g. system.img) as writable, rebooting if necessary.

1. lunch

lunch <product_name>-<build_variant>
??功能??:選擇要構建的產品和構建變體
??參數??:
<product_name>:產品名稱(如 aosp_arm、sdk_phone_x86)
<build_variant>:構建類型(eng、userdebug、user)
??作用??:設置環境變量,配置后續構建命令

2. tapas

tapas [ …] [arm|x86|arm64|x86_64] [eng|userdebug|user]
??功能??:設置構建獨立應用(APK)的環境
??典型用例??:開發特定應用而不構建整個系統
??示例??:tapas Settings arm64 eng僅構建 Settings 應用

3. banchan

banchan [ …] [arm|x86|arm64|x86_64] [eng|userdebug|user]
??功能??:設置構建獨立模塊(APEX)的環境
??新增功能??:用于模塊化開發(Android 10+)
??示例??:banchan com.android.apex.test arm64 eng

4. croot

??功能??:快速回到源碼樹根目錄
??使用場景??:在深層目錄中快速返回頂層
??等效命令??:cd $ANDROID_BUILD_TOP

構建命令

5. m

??功能??:從源碼樹根目錄開始完整構建
??等效命令??:make -j$(nproc)
??優化??:自動檢測 CPU 核心數并行構建

6. mm

??功能??:構建當前目錄下的模塊及其依賴
??特點??:不構建整個系統,只構建相關模塊
??使用場景??:快速迭代開發單個模塊

7. mmm

mmm <目錄1> [<目錄2> …]
??功能??:構建指定目錄下的模塊
??高級用法??:mmm dir/:target1,target2指定構建目標
??示例??:mmm packages/apps/Settings

8. mma

??功能??:與 mm相同,構建當前目錄模塊

9. mmma

??功能??:與 mmm相同,構建指定目錄模塊

10. provision

provision [fastboot選項]
??功能??:刷寫設備所有必需分區
??特點??:封裝了 fastboot 命令,簡化刷機流程
??示例??:provision -w擦除用戶數據
代碼搜索工具

11. cgrep

??搜索范圍??:所有 C/C++ 文件(*.c, *.cpp, *.h)
??示例??:cgrep "main"查找所有 main 函數

12. ggrep

??搜索范圍??:所有 Gradle 文件(*.gradle)
??用途??:查找構建配置相關代碼

13. gogrep

??搜索范圍??:所有 Go 文件(*.go)
??新增功能??:支持 Go 語言開發(如 Fuchsia 相關)

14. jgrep

??搜索范圍??:所有 Java 文件(*.java)
??最常用??:Java 代碼搜索

15. ktgrep

??搜索范圍??:所有 Kotlin 文件(*.kt)
??新增功能??:支持 Kotlin 代碼搜索

16. resgrep

??搜索范圍??:所有資源 XML 文件(res/*.xml)
??用途??:查找資源定義

17. mangrep

??搜索范圍??:所有 AndroidManifest.xml 文件
??用途??:查找應用配置信息

18. mgrep

??搜索范圍??:所有 Makefile 和 *.bp 文件
??用途??:查找構建系統配置

19. owngrep

??搜索范圍??:所有 OWNERS 文件
??用途??:查找代碼所有者信息

20. rsgrep

??搜索范圍??:所有 Rust 文件(*.rs)
??新增功能??:支持 Rust 代碼搜索

21. sepgrep

??搜索范圍??:所有 sepolicy 文件
??用途??:查找安全策略配置

22. sgrep

??搜索范圍??:所有源文件
??通用搜索??:全代碼庫搜索

導航與模塊管理

23. godir

godir <文件名>
??功能??:跳轉到包含指定文件的目錄
??智能匹配??:支持部分文件名匹配
??示例??:godir AndroidManifest.xml

24. allmod

??功能??:列出所有可用模塊
??輸出??:模塊名和路徑的列表

25. gomod

gomod <模塊名>
??功能??:跳轉到指定模塊的目錄
??示例??:gomod Settings

26. pathmod

pathmod <模塊名>
??功能??:獲取模塊所在目錄路徑
??用途??:在腳本中使用模塊路徑

27. outmod

outmod <模塊名> [擴展名]
??功能??:獲取模塊輸出文件路徑
??示例??:outmod Settings .apk獲取 Settings APK 路徑

28. dirmods

dirmods <目錄>
??功能??:列出指定目錄定義的所有模塊
??用途??:查看目錄中的可構建目標

29. installmod

installmod <模塊名>
??功能??:通過 adb 安裝模塊構建的 APK
??自動化??:構建 + 安裝一步完成
??示例??:installmod Settings

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98320.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98320.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98320.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Protues仿真】基于AT89C52單片機的數碼管驅動事例

目錄 0案例視頻效果展示 1 AT89C52單片機驅動單個數碼管 1.1 數碼管基礎知識 1.1.1外觀與引腳 1.1.2 共陰(CC) vs 共陽(CA) 1.1.3段碼表(以數字1為例) 1.1.4驅動方式A. 直連IO(最簡單,占用IO多)一個段一根線,共陰或共陽公共端固定接GND/VCC。適合單個數碼管、…

01-Redis 發展簡史與核心定位解析:從誕生到三大產品矩陣

目錄引言一、Redis 的起源與發展&#xff1a;從定制工具到開源生態二、Redis 的核心定位&#xff1a;不止是緩存的多面手三、Redis 三大產品矩陣&#xff1a;按需選擇的完整解決方案3.1 Redis Open Source&#xff08;社區版&#xff09;&#xff1a;入門與輕量場景首選3.2 Red…

記錄jilu~

centos1、安裝最小版Linux 安裝必要工具yum -install -y epel-releaseyum -install -y net-toolsyum -install -y vim2、修改hostname hostnamectl net-hostname newhostname3、網絡配置文件&#xff0c;網關 &#xff0c; 使用ip &#xff0c;dns。。/etc/sysconfig/network-s…

【Linux基礎】fdisk命令詳解:從入門到精通的磁盤分區管理完全指南

目錄 前言 1 fdisk命令概述 1.1 什么是fdisk 1.2 fdisk的應用場景 1.3 fdisk與其他分區工具的比較 2 fdisk命令的安裝與基本語法 2.1 在不同Linux發行版中安裝fdisk 2.2 fdisk的基本語法 3 fdisk命令參數詳解 3.1 主要參數說明 3.2 交互式命令 4 fdisk操作流程詳解…

Flowable 工作流引擎

1、核心類 Flowable 引擎通過 ProcessEngine 作為總入口點&#xff0c;提供了多個核心服務接口&#xff0c;每個服務都負責特定的功能領域&#xff1a;服務名稱 (Service Name)主要功能 (Main Functionality)關鍵操作 (Key Operations)RepositoryService管理流程定義和部署&…

(RDFS)隨機深度特征選擇方法解釋:簡而言之,RDFS主要針對的是惡意的服務器,它建立在客戶端是誠實的前提下。

1. 隨機深度特征選擇是怎么實現的&#xff1f;隨機深度特征選擇 是一種在分布式機器學習&#xff08;特別是聯邦學習&#xff09;中用于保護客戶端數據隱私的技術。它的核心思想是&#xff1a;在每一輪訓練中&#xff0c;每個客戶端隨機選擇模型的一個子集&#xff08;即“深度…

C++20格式化字符串:std::format的使用與實踐

在C編程中&#xff0c;字符串格式化是一項常見的任務。在C20引入std::format之前&#xff0c;開發者通常依賴于一些傳統的解決方案&#xff0c;如printf系列函數、sstream&#xff0c;或者第三方庫如boost.format。然而&#xff0c;這些方法在代碼可讀性、類型安全性和靈活性方…

【漏洞復現】CVE-2025-8088|WinRAR 路徑穿越漏洞:從原理到藍屏攻擊全流程

【漏洞復現】CVE-2025-8088&#xff5c;WinRAR 路徑穿越漏洞&#xff1a;從原理到藍屏攻擊全流程 前言 WinRAR 作為 Windows 平臺最常用的壓縮管理工具之一&#xff0c;幾乎是每臺電腦的 “標配軟件”。但在 2025 年 8 月&#xff0c;一款影響范圍覆蓋 WinRAR 0 至 7.12 全版本…

uniapp中使用echarts并且支持pc端的拖動、拖拽和其他交互事件

npm install echarts -D ? // "echarts": "^5.3.2", [推薦版本] // "zrender": "^5.3.2" [如果報錯的話就安裝這個]<template><view class"container"><view id"myChart" class"chart"…

Qt中QProxyStyledrawControl函數4個參數的意義

Qt中QProxyStyle::drawControl函數4個參數的意義 我們來詳細解釋一下 Qt 中 QProxyStyle::drawControl 函數的四個參數。 這個函數是 Qt 樣式系統中的一個核心方法&#xff0c;用于繪制標準 UI 元素&#xff08;如按鈕、復選框、菜單欄等&#xff09;。當你繼承 QProxyStyle 并…

idf-esp32 PWM呼吸燈(LEDC頭文件)

相關宏和變量#define LED_PIN GPIO_NUM_3 #define LEDC_CHANNEL LEDC_CHANNEL_0 #define LEDC_TIMER LEDC_TIMER_0 #define LEDC_MODE LEDC_LOW_SPEED_MODE #define LEDC_DUTY_RES LEDC_TIMER_13_BIT // 2^13 8192級亮度 #define LEDC_FREQUENCY 50…

PLC_博圖系列?基本指令”S_ODTS:分配保持型接通延時定時器參數并啟動“

PLC_博圖系列?基本指令”S_ODTS&#xff1a;分配保持型接通延時定時器參數并啟動“ 文章目錄PLC_博圖系列?基本指令”S_ODTS&#xff1a;分配保持型接通延時定時器參數并啟動“背景介紹S_ODTS&#xff1a; 分配保持型接通延時定時器參數并啟動說明參數脈沖時序圖示例關鍵字&a…

OneCode 可視化揭秘系列(三):AI MCP驅動的智能工作流邏輯編排

OneCode 可視化揭秘系列&#xff08;三&#xff09;&#xff1a;AI MCP驅動的智能工作流邏輯編排 引言 在前兩篇系列博文中&#xff0c;我們詳細探討了OneCode可視化動作的基礎配置與界面設計&#xff0c;以及組件交互與數據流管理。在本篇文章中&#xff0c;我們將深入剖析邏輯…

TypeORM、Sequelize、Hibernate 的優缺點對比:新手常見 SQL 與 ORM 踩坑總結

1. ORM 與關系型數據庫&#xff08;MySQL、PostgreSQL&#xff09; 的使用 SQL 語句編寫&#xff08;JOIN、GROUP BY、索引使用、事務控制&#xff09;與 ORM 映射&#xff08;如 Sequelize、TypeORM、Hibernate&#xff09;之間的差異會讓新手非常糾結&#xff1b;尤其是理解…

JavaScript 創建型設計模式詳解

1. 單例模式1.1. 使用場景在前端開發中&#xff0c;全局狀態管理、配置信息、數據庫連接等往往需要在應用中只存在一個實例&#xff0c;避免多次實例化帶來的數據不一致性。例如&#xff0c;在一個前端應用中&#xff0c;全局的 loading 狀態通常需要一個單例模式來確保其唯一性…

k8s除了主server服務器可正常使用kubectl命令,其他節點不能使用原因,以及如何在其他k8s節點正常使用kubectl命令??

kubectl 并不是“只能”在主節點&#xff08;Control Plane Node&#xff09;使用&#xff0c;而是因為它需要訪問 Kubernetes 的 kube-apiserver&#xff0c;而 kube-apiserver 通常只在主節點上運行并監聽內部網絡。簡單來說kubectl 需要連接 kube-apiserver&#xff01;&…

Custom SRP - Complex Maps

https://catlikecoding.com/unity/tutorials/custom-srp/complex-maps/1 創建材質球我們的材質已經支持光照,并且支持 Albedo 和 Emission 貼圖.創建材質球,并應用下面的電路板的圖分別作為 albedo emission設置材質球的金屬度為 1 , 光滑度為 0.952 Mask Map在 albedo 圖上的不…

repo 學習教程

你現在會用 git 了&#xff0c;接下來學 repo&#xff08;Google 推出來的多倉庫管理工具&#xff09;&#xff0c;其實就是在 Git 的基礎上做了一層封裝&#xff0c;方便同時管理很多 Git 倉庫。像 Android 源碼、Rockchip 全套 SDK 都是靠 repo 來拉取和管理的。 我給你分幾個…

[SWERC 2020] Safe Distance題解

[SWERC 2020] Safe Distance 題意 給定 NNN 個點與一個坐標 (X,Y)(X,Y)(X,Y)&#xff0c;求從點 (0,0)(0,0)(0,0) 到點 (X,Y)(X,Y)(X,Y) 規劃一條路線&#xff0c;不能走出 (0,0)(0,0)(0,0) 與 (X,Y)(X,Y)(X,Y) 間形成的矩形&#xff0c;使得通過這條路線時距離最近的點的距離…

Rewind-你人生的搜索引擎

本文轉載自&#xff1a;Rewind-你人生的搜索引擎 - Hello123工具導航 ** 一、&#x1f50d; Rewind 是什么&#xff1f;你的數字記憶增強神器 Rewind 是一款人工智能驅動的個人記憶助手&#xff0c;就像為你配備了一個「數字第二大腦」。它能自動記錄、保存并索引你在電腦和手…