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

相关推荐
芦半山1 小时前
2025:生活是个缓慢受锤的过程
android·年终总结
Kapaseker9 小时前
你不看会后悔的2025年终总结
android·kotlin
alexhilton12 小时前
务实的模块化:连接模块(wiring modules)的妙用
android·kotlin·android jetpack
ji_shuke12 小时前
opencv-mobile 和 ncnn-android 环境配置
android·前端·javascript·人工智能·opencv
sunnyday042614 小时前
Spring Boot 项目中使用 Dynamic Datasource 实现多数据源管理
android·spring boot·后端
幽络源小助理16 小时前
下载安装AndroidStudio配置Gradle运行第一个kotlin程序
android·开发语言·kotlin
inBuilder低代码平台16 小时前
浅谈安卓Webview从初级到高级应用
android·java·webview
豌豆学姐16 小时前
Sora2 短剧视频创作中如何保持人物一致性?角色创建接口教程
android·java·aigc·php·音视频·uniapp
白熊小北极16 小时前
Android Jetpack Compose折叠屏感知与适配
android
HelloBan16 小时前
setHintTextColor不生效
android