Android 开发之envsetup.sh配置lunch

本文详细介绍了Android开发过程中envsetup.sh脚本的作用,包括加载基本编译命令、执行vendorsetup.sh以及设置lunch选项。通过实例展示了如何在vendorsetup.sh中添加自定义产品编译选项,并解析了lunch命令的功能,以及envsetup.sh中set_stuff_for_environment和printconfig函数的用途。最后,解释了build/core/config.mk中涉及的配置过程。
摘要由CSDN通过智能技术生成

1)source build/envsetup.sh

          前面说过一般envsetup.sh一般做了如下几件事情:

               1)加载编译时我们使用的基本函数命令:help、lunch、m、mm、mmm等。

               2)查找vendor/厂商目录、device/厂商目录下的vendorsetup.sh,加载执行,添加厂商自己定义的产品编译选项。

        3)一般Android原生代码里面可能会添加两个系统的默认选项:

             add_lunch_combo  generic-eng

             add_lunch_combo  simulator

2)查找vendorsetup.sh进行加载

         在envsetup.sh结尾的地方,我们看到:

# Execute the contents of any vendorsetup.sh files we can find.
for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null`
do
    echo "including $f"
    . $f
done
unset f

addcompletions

         查找vendor 以及device目录下的厂商自己 定义的vendorsetup.sh加载执行。所以如果我们自己需要定义自己的产品选项的话,就需要在vendor下创建自己公司的名字,然后新建一个vendorsetup.sh,里面添加上自己的产品编译选项。

       如:我的fsl项目:

      device/fsl/imx6/vendorsetup.sh内容:

                   add_lunch_combo sabresd_6dq-eng

                    add_lunch_combo sabresd_6dq-user

                    add_lunch_hadrware SboxF140AV01

                    add_lunch_hardware SboxF140CV01

add_lunch_project BASE

  add_lunch_prohect Danoo

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

        这里我们先看

参考资源链接:[RK3588 Android12系统构建与编译指南](https://wenku.csdn.net/doc/j2i26feo54?utm_source=wenku_answer2doc_content) 要在RK3588平台上搭建Android 12开发环境并编译出userdebug版本镜像,首先需要准备编译环境,包括安装依赖库和获取源码。以下是详细的步骤: 1. **安装依赖库**:在Linux系统中,你需要安装`liblz4-tool`和`device-tree-compiler`这两个库。可以通过运行`sudo apt-get install liblz4-tool device-tree-compiler`来安装。 2. **下载源码**:获取RK3588的Android 12源码,通常通过`repo init`和`repo sync`命令来完成。具体操作如下: ```bash repo init -u <repository-url> -b <branch> repo sync ``` 这里的`<repository-url>`是你源码仓库的URL,`<branch>`是你想要同步的分支名称。 3. **设置编译环境**:运行`source build/envsetup.sh`来设置环境变量和加载编译相关的函数。 4. **选择编译目标**:通过`lunch`命令选择你的编译目标。对于RK3588的userdebug版本,命令可能是: ```bash lunch rk3588_xr-userdebug ``` 其中`rk3588_xr`是目标设备名称,`userdebug`是一个特定的构建类型。 5. **编译Android系统**:执行编译命令,生成userdebug版本镜像。命令可能如下: ```bash ./build.sh -AUCKu ``` 这里的参数`-AUCKu`可能需要根据实际情况调整,以符合RK3588平台的要求。 6. **编译完成后的镜像文件**:编译完成后,生成的镜像文件通常位于`out/target/product/rk3588_xr`目录下。`super.img`是你需要的镜像文件,可以用于刷入设备。 以上步骤需要在适当的硬件环境和操作系统下进行,确保所有工具链和依赖库与RK3588平台兼容。为了深入理解整个编译流程和可能出现的问题,建议详细阅读《RK3588 Android12系统构建与编译指南》文档,其中包含更多细节和指导,帮助开发者顺利完成编译工作。 参考资源链接:[RK3588 Android12系统构建与编译指南](https://wenku.csdn.net/doc/j2i26feo54?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值