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的编译报错

相关推荐
zh_xuan12 小时前
kotlin Channel的用法
android·kotlin·协程·channel
zh_xuan12 小时前
kotlin Flow的用法
android·开发语言·kotlin·协程·flow
普通网友19 小时前
Android Jetpack 架构组件最佳实践之“网抑云”APP
android·架构·android jetpack
普通网友19 小时前
原创_Android Jetpack Compose 最全上手指南
android·android jetpack
FDoubleman19 小时前
Android Jetpack之Compose入门(一)
android·android jetpack
普通网友19 小时前
Android Jetpack从入门到精通,干货满满
android·android jetpack
子云心19 小时前
Android Jetpack 系列(七)App Startup 启动优化
android·android jetpack·jetpack·initializer·startup·appstartup
嫩嫩的猿19 小时前
android jetpack compose Model对象更新变量 UI不更新、不刷新问题
android·ui·android jetpack
普通网友19 小时前
Android Jetpack 之 LifeCycle 组件_android 自定义view lifecycle
android·gitee·android jetpack