新版本 AOSP 大坑之 lunch No target specified.

2025 年的新版本的 Android 源码,运行lunch 不再显示构建列表。而是需要自己去按照

lunch TARGET_PRODUCT-TARGET_RELEASE-TARGET_BUILD_VARIANT

这个格式去选择要编译的产品和版本。其中有三个变量 TARGET_PRODUCT(产品)TARGET_RELEASE(版本)TARGET_BUILD_VARIANT(构建类型)

那么怎么知道这三个变量分别选择什么呢?

TARGET_PRODUCT

  • 使用 list_product 命令查看

TARGET_RELEASE

  • 使用 list_release [product] 来查看

TARGET_BUILD_VARIANT

  • 这个一般就是从 userdebug、user、eng 三个中选择即可,三个变量的区别是一般用户release 版本使用 user、调试版本一般使用userdebug或者 eng。

所以比如说我要构建sdk_car_x86_64 的版本,我需要这么写

lunch sdk_car_x86_64-aosp_current-userdebug

我在使用 aosp_current 来进行编译时,发现会出问题,大概是kotlin的版本不匹配问题。也没有找到解决办法。
后来了解到,不应该使用aosp_current来进行构建,这个是最新的修改分支,很不稳定。
应该使用其他的一些 TARGET_RELEASE。
使用list_releases命令来查看其他的版本。

lvgg@lvgg-workstation:/media/lvgg/Linux/aosp$ list_releases 
aosp_current
ap2a
ap3a
ap4a
bp1a
trunk_staging

当我选择trunk_staging时,就不会有报错了。编译正常。

posted @ 2025-04-30 16:31  Greg_LYU  阅读(675)  评论(0)    收藏  举报