Android NDK:断言失败:LOCAL_MAKEFILE 未定义
Android NDK: Assertion failure: LOCAL_MAKEFILE is not defined
我正在尝试构建一个项目,当我执行 gradle 构建任务时,我收到以下错误:
~/Library/Android/sdk/ndk/21.2.6472646/build/core/prebuilt-library.mk:20: *** Android NDK: Assertion failure: LOCAL_MAKEFILE is not defined . Stop.
我以前从未使用过 NDK,我不确定我需要从哪里开始。
好像没有定义LOCAL_MAKEFILE
,但是应该在哪里定义呢?
如下所示,预建库文件的第 20 行:
15
16 # this file is included from prebuilt-shared-library.mk or
17 # prebuilt-static-library.mk to declare prebuilt library binaries.
18 #
19
20 $(call assert-defined, LOCAL_BUILD_SCRIPT LOCAL_MAKEFILE LOCAL_PREBUILT_PREFIX LOCAL_PREBUILT_SUFFIX)
21
22 $(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
23 $(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
24 $(call check-LOCAL_MODULE_FILENAME)
25
有人知道发生了什么事吗?
欢迎大家的帮助!
暂时谢谢!
要解决该问题,我需要删除所有 NDK 版本并仅使用 19 和 20 版本。
在 NDK r21d 上同样的错误。谢谢Dan Albert for the patch。
这修复了错误:
在build/core/definitions.mk中更改行:
local-makefile = $(lastword $(filter %Android.mk,$(MAKEFILE_LIST)))
至
_last_android_mk = $(lastword $(filter %Android.mk,$(MAKEFILE_LIST)))
_last_non_ndk_makefile = $(lastword $(filter-out $(NDK_ROOT)%,$(MAKEFILE_LIST)))
local-makefile = $(if $(_last_android_mk),$(_last_android_mk),$(_last_non_ndk_makefile))
这是https://github.com/android/ndk/issues/1267。它将在即将发布的 NDK 版本中修复。只有当您的主 Android.mk 文件实际上未命名为 Android.mk.
时才会出现此问题
我正在尝试构建一个项目,当我执行 gradle 构建任务时,我收到以下错误:
~/Library/Android/sdk/ndk/21.2.6472646/build/core/prebuilt-library.mk:20: *** Android NDK: Assertion failure: LOCAL_MAKEFILE is not defined . Stop.
我以前从未使用过 NDK,我不确定我需要从哪里开始。
好像没有定义LOCAL_MAKEFILE
,但是应该在哪里定义呢?
如下所示,预建库文件的第 20 行:
15
16 # this file is included from prebuilt-shared-library.mk or
17 # prebuilt-static-library.mk to declare prebuilt library binaries.
18 #
19
20 $(call assert-defined, LOCAL_BUILD_SCRIPT LOCAL_MAKEFILE LOCAL_PREBUILT_PREFIX LOCAL_PREBUILT_SUFFIX)
21
22 $(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
23 $(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
24 $(call check-LOCAL_MODULE_FILENAME)
25
有人知道发生了什么事吗?
欢迎大家的帮助!
暂时谢谢!
要解决该问题,我需要删除所有 NDK 版本并仅使用 19 和 20 版本。
在 NDK r21d 上同样的错误。谢谢Dan Albert for the patch。 这修复了错误:
在build/core/definitions.mk中更改行:
local-makefile = $(lastword $(filter %Android.mk,$(MAKEFILE_LIST)))
至
_last_android_mk = $(lastword $(filter %Android.mk,$(MAKEFILE_LIST)))
_last_non_ndk_makefile = $(lastword $(filter-out $(NDK_ROOT)%,$(MAKEFILE_LIST)))
local-makefile = $(if $(_last_android_mk),$(_last_android_mk),$(_last_non_ndk_makefile))
这是https://github.com/android/ndk/issues/1267。它将在即将发布的 NDK 版本中修复。只有当您的主 Android.mk 文件实际上未命名为 Android.mk.
时才会出现此问题