Android单编模块报FAILED: ninja: unknown target ‘MODULES-IN-vendor错误解决

有时我们需要单编Android AOSP一个APK或库文件或二进制,用来调试。

但可能这个模块本身是不参与系统整编编译的。我们在使用mmm或mm单独编译时就会报这个错误。

在检查Android.mk或Android.bp无误后,就要怀疑是不是这个目录的上级目录是不是没有包含这个目录的Android.mk,导致编译系统无法加载这个目录的Android.mk从而报unknown target错误。

例如:我的模块路径为vendor/xxx/hardware/audio/external/alsa-utils-1.2.8/Android.mk

vendor/xxx/hardware/audio/external这个目录下也有一个Android.mk内容为:

复制代码
LOCAL_PATH := $(call my-dir)

SUBDIR_EXT :=
ifeq ($(VENDOR_USING_ALSA_LIB), true)
SUBDIR_EXT += \
                alsa-lib-1.2.8 \
                alsa-utils-1.2.8
endif

include $(call all-named-subdir-makefiles, ${SUBDIR_EXT})

可以看到只有定义了VENDOR_USING_ALSA_LIB才会加载alsa-utils-1.2.8下的Android.mk

而这个宏默认未定义,所以单编alsa-utils-1.2.8就会报错

我们只需要定义这个宏或者把判断注释掉就可以解决unknown target的编译报错

相关推荐
xiangpanf7 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx10 小时前
安卓线程相关
android
消失的旧时光-194311 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon11 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon12 小时前
VSYNC 信号完整流程2
android
dalancon12 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户693717500138413 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android13 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才14 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶14 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle