Android build/envsetup.sh 脚本分析(lunch函数)

南京广义软件:Android lunch分析以及产品分支构建 Android lunch分析以及产品分支构建 一、背景 随着Android应用范围越来越广泛,用户对Android的需求也越来越趋于复杂,在开发Android应用以及底层产品驱动时,往往两套产品所需要的硬件平台就大不相同,而软件功能却相差不大。在这种纷繁的情况下,是否每种产品就需要一套源代码来维护。如果真这么做的话,那工作量就太大了。所以提出了产品分支的概念。在Android源码中提供了这么 阅读详情

wll@wll:/var/data/wll/project/8825_0108/SC8825$ . build/envsetup.sh


including device/moto/stingray/vendorsetup.sh

including device/moto/wingray/vendorsetup.sh

including device/samsung/crespo4g/vendorsetup.sh

..............


wll@wll:/var/data/wll/project/8825_0108/SC8825$ lunch 

You're building on Linux
Lunch menu... pick a combo:

 1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng

...

     38. td560-userdebug
     39. td560-user
     40. td560-eng

选择正确的编译版本

Which would you like? [full-eng] 38

wll@wll:/var/data/wll/project/8825_0108/SC8825$ adb shell 
Display all 220 possibilities? (y or n)

就可以显示出adb 的所有命令了

android编译系统分析一:source build/envsetup.sh与lunch 虽然已经有很多人分析过android的编译系统的代码了,我也看过他们的博客,也学到了不少知识,但单纯的看别人分析,终究还是理解的不深入,所以,我还是要自己再认真的分析一遍。 1. source build/envsetup.sh 这个文件虽然很大,但暂且不需要统统看一遍。它里面定义了很多函数,这些函数在使用的时候再具体详细学习,现在主要看看这个脚本做的事情。即便如此,打开这个脚本后第一个函数还 阅读详情

相关推荐

Android编译流程(一):envsetup.sh文件解析

目录(一)开发环境(二)概述(三)函数hmmgettopprintconfigfindmakefileget_make_commandmakexxgrepggrepjgrepcgrepresgrepmangrepsepgreprcgrepsgrepmgrep treegrepgodirprint_lunch_menuadd_lunch_combolunchm mm mmm mma mmma (一)开发环境 CPU:Freescale I.MX 8M Mini Android平台版本:Android 9.0.

Eliot_Haber的博客 3100

Android编译小结

正式开始一个新的平台,以前的项目拿到的代码都是供应商改好的,感觉有很多不规范的地方。这次从一个全新的项目着手,严格按照android规范进行项目的添加、板级文件的支持。目标是争取不改动build目录下的文件,而是用好它的扩展机制。在lunch中增加combo选项的标准方法在执行完. build/envsetup.sh后,执行lunch,会出现lunch菜单:You're building on Li

fire_up的专栏 742

Android build中的envsetup.sh详解

今天在编译项目的时候,想看看 envsetup.sh 中变化了些什么,才想起来编译专栏中好像没有详解该脚本,索性现在空余时间比较多,整理一下方便以后查看。Android envsetup.sh 为编译前的准备工作,提供 lunch、m、mm等命令函数定义,是整个Android 编译系统的第一步。函数定义生成编译配置列表本文会结合代码对 envsetup.sh 进行详细的剖析,由于函数比较多,本文会进行长期地补充和维护。

私房菜 3544

android 定制sdk,android客户定制SDK常见修改

编译 SDK:SDK1,输入. build/envsetup.sh;注意点后有空格2,输入 lunch显示You're building on LinuxLunch menu... pick a combo:1. generic-eng2. simulator3. MID-userdebug4. full_vortex-userdebugWhich would you like? [generic...

weixin_30985047的博客 714

主流算力卡性能对比分析

超大规模AI训练/HPC:优先选择NVIDIA H100或AMD MI300X,需关注显存带宽和多卡互联能力。企业级AI训练:NVIDIA A100性价比更高,生态成熟。国内自主可控需求:华为昇腾910B是首选,支持液冷和低功耗设计。本地AI推理/游戏:NVIDIA RTX 4090或RTX 5090性价比突出,但需注意显存容量限制。边缘计算/低功耗场景:华为昇腾310或清微智能TX536(能效比6.3TOPS/W@INT8)更合适。

m0_69867914的博客 7806

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了

Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Designer、PyUIC、PyRcc三个工具的设置。最后简单演示了PyQt5的调用方式及三个工具的使用方法。

Python966的博客 3万+

瑞芯微RK3568开发板Linux编译报错404怎么办?触觉智能教你轻松解决

本文介绍瑞芯微RK3568主板/开发板SDK编译流程和编译报错的解决方法,使用触觉智能EVB3568鸿蒙开发板演示,具有丰富的视频输入输出接口(HDMI/eDP/MIPI/LVDS) 与多种高速接口(千兆网口/PCIe/SATA/CAN等)。近期,触觉智能即将发布RK3568系列开源鸿蒙OpenHarmony5.0系统固件,敬请关注!

Industio_优快云的博客 788

国密证书实战:在CentOS 7上构建GmSSL私有CA与完整证书链

本文详细介绍了在CentOS 7操作系统上,使用GmSSL工具构建私有国密证书颁发机构(CA)与完整证书链的实战指南。内容涵盖从部署GmSSL、创建国密根CA、签发服务器与客户端证书,到生产环境安全加固与最佳实践的全流程,旨在帮助系统管理员和安全工程师建立统一、可控的内部国密安全通信体系。

jenkins8butler的博客 497

Android编译详解之lunch命令 【转】

本文转载自: Android编译详解之lunch命令 (2012-10-08 10:27:55) 转载▼ 标签: it 分类:android内核剖析 Android的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的...

zzb2760715357的博客 292

阿里云网络架构设计

背景 一个企业上云,首先要考虑整个网络的规划,涉及到云上和云下的网络规划,云上VPC的规划,云上不同地域VPC的互通,云上可用区的选择等等,所以一定要提前规划好整体的网络架构,现在阿里云云上的虚拟化网络解决方案已经完全转向 了云企业网,所以所有使用阿里云的企业客户多多少少都会使用阿里云的CEN 支撑自己的业务。 云企业网介绍 云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络。 IDC专线接入CEN 首先面临的是云上和云下打通,那么

修电脑的码农 4842

Qt入门教程【高级控件篇】QModelIndex索引

QModelIndex索引

小鱼酱的博客 4466

source /build/envsetup.sh和lunch)

提醒:想要研究安卓编译系统,必须对bash shell和GUN make非常熟悉,不然会看的云里雾里,没有这个背景的可以先补充知识。1.source ./build/envsetup.sh 主要是加载device/vendor目录下面的vendorsetup.sh文件2.lunch (本图来自罗升阳博客,已经比较老了,现在的安卓源码将board_config_mk放在了envsetup.mk

GetnextWindow的专栏 4443

EtherCAT主站SOEM -- 15 -- CIA402伺服驱动器子协议

以上就是EtherCAT主站SOEM – 15 – CIA402伺服驱动器子协议的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 2734

android lunch menu,android lunch函数浅析

转自:http://www.lupaworld.com/home.php?mod=space&uid=131820&do=blog&id=149462build/envsetup.sh 脚本分析(lunch函数)lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环...

weixin_36269396的博客 671

PointNet++改进策略 :模块改进 | x-Conv | PointCNN, 结合局部结构与全局排列提升模型性能

这篇论文介绍了一种名为PointCNN的方法,旨在从点云(point cloud)数据中学习特征。传统卷积神经网络(CNN)在处理规则网格数据(如图像)时非常有效,但由于点云是无序且不规则的,直接在其上应用卷积操作会导致形状信息丢失,并对点的排列顺序敏感。为了解决这一问题,论文提出了一种X-Conv操作。该方法通过学习一种来重新排列点云中的点并加权输入特征。然后,将典型的卷积操作应用于转换后的特征。这种方法将传统的 CNN 扩展到点云特征学习,并命名为PointCNN。

u012901740的博客 2300

MFC 中实现 WebSocket 客户端以支持实时双向通信

3. **协议兼容**:若服务器使用 `wss://`(加密),需在 `lws_client_connect_info` 中配置 SSL 相关参数(`ssl_connection = LCCSCF_USE_SSL`)。- 编辑框(`m_editUrl`):输入 WebSocket 服务器地址(如 `ws://echo.websocket.events`)。2. 将编译后的库文件(`.lib`、`.dll`)和头文件路径添加到 MFC 项目中(项目属性 -> VC++ 目录)。// UI:服务器地址。

寒寒豆豆软件公司的博客 202

build/envsetup.sh 简介

build/envsetup.sh 命令————envsetup.sh中的函数简介 source build/envsetup.sh 执行流程 build/envsetup.sh 常用函数介绍 lunch流程 _lunch函数 gettop hmm mm mmm godir sgrep 看了好多篇关于build/envsetup.sh 的介绍,记下的总结 build/envset...

梦紫樱的博客 8187

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

二、envsetup.sh脚本(Android10)

文章目录建议先阅读:新版本的envsetup.sh脚本1. add_lunch_combo函数被废弃2. print_lunch_menu函数2. get_build_var函数2. _lunch函数2. lunch函数3. addcompletions函数4. make函数5. m函数6. mm函数7. mmm函数8. gettop函数9. croot函数10. xgrep类函数11.hmm函数 建议先阅读: envsetup.sh分析(旧版本Android) envsetup.sh分析二(旧版本Andr

王涵的博客 3987

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Android source build/envsetup.sh 及lunch 过程

1,source build/envsetup.sh         source 是用来运行 shell 脚本的命令  功能和 "."  和相同,因此 也可以写作: . build/envsetup.sh 运行效果结果如下: xxx@xxx:~/xxx/kitkat$ . build/envsetup.sh including device/generic/armv7-

desler的专栏 8683

Android 开发之envsetup.sh配置lunch

1)source build/envsetup.sh           前面说过一般envsetup.sh一般做了如下几件事情:                1)加载编译时我们使用的基本函数命令:help、lunch、m、mm、mmm等。                2)查找vendor/厂商目录、device/厂商目录下的vendorsetup.sh,加载执行,添加厂商自己定义的产品

漫步云端 9684

Android 编译过程分析以及添加自己的lunch分支

一、编译环境 PC:Ubuntu 18.04 64bit虚拟机,make版本:3.81,jdk版本:1.6.0_34 板端:RIotBoard i.MX 6Solo 、ARM Cortex-A9架构、单核1GHz主频 、1G RAM、4GROM、安卓版本4.4.2 二、. /build/envsetup.sh 分析 这个脚本主要是加载编译命令,加载平台信息。在编译之前,虚拟机或者安卓的源码...

nswcszmdfj的博客 3423

Android编译环境:build/envsetup.sh与lunch命令详解

在Android系统开发中,环境配置是构建流程的关键环节。build/envsetup.sh作为初始化脚本,通过定义一系列函数和变量为编译工作做准备。其中lunch命令负责配置目标设备和构建类型,其核心原理是通过解析产品配置文件(如.mk文件)来设置TARGET_PRODUCT、TARGET_BUILD_VARIANT等关键环境变量。这些配置直接影响最终生成的系统镜像特性,包括调试功能、性能优化等。在工程实践中,开发者常用userdebug构建类型进行测试,它平衡了调试需求和系统性能。理解envsetup.

weixin_30617695的博客 325

Android source build/envsetup.sh 该知道的细节

source build/envsetup.sh细节说明 lunch命令解释说明 整个工程快捷命令的使用

u012514113的专栏 4561

编译——source build/envsetup.sh

转自http://blog.csdn.net/ricks_wu/article/details/8508619 build/envsetup.sh提供了几个有用的shell命令,使用 $.build/envsetup.sh(注意点号)或者$sourcebuild/envsetup.sh可以引入到shell环境中 envsetup.sh还同时会引入vendor/和device /目录下的vend

chuntiandejiaobu10的专栏 2820

Android编译系统环境初始化:envsetup.sh与lunch详解

Android编译系统的环境初始化是构建流程的关键基础,主要通过envsetup.sh和lunch两个核心脚本实现。envsetup.sh负责验证shell环境、加载厂商定制脚本(vendorsetup.sh)以及增强命令行工具,而lunch则用于配置特定产品的编译环境。理解这些机制对于解决编译环境初始化失败、lunch列表为空等常见问题至关重要。在Android系统开发中,合理配置编译环境不仅能避免奇怪的构建错误,还能通过ccache等工具显著提升编译效率。掌握envsetup.sh的厂商定制化支持和lu

454

编译安卓系统源码时,执行 source build/envsetup.sh 的目的

是为了确保你的当前 shell 环境中具备编译安卓系统所需的所有设置和函数。这样,当你执行后续的编译命令时,系统才能正确识别和执行这些命令,从而顺利地进行安卓系统源码的编译工作。这个命令会列出可用的编译目标,包括不同的设备和版本。你可以根据提示选择适合你的目标,比如选择要编译的设备型号(如。的目的是设置环境变量和提供一些编译所需的函数和工具。脚本虽然设置了编译所需的环境变量和函数,但还没有指定具体要编译的设备或版本。命令是选择编译目标的关键步骤,是确保编译系统正确工作的重要一步。设置了必要的环境,但。

weixin_44909190的博客 1078
上一篇: android仿iphone滑动解锁
下一篇: Thinking in java吸血鬼数字问题
w4lle
博客等级 码龄16年 49粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值