新版本 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时,就不会有报错了。编译正常。

浙公网安备 33010602011771号