Android NDK: Ошибка утверждения: LOCAL_MAKEFILE не определено - PullRequest
0 голосов
/ 28 мая 2020

Я пытался создать проект, и когда я выполняю задачу 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  

Кто-нибудь знает, что происходит?

Любая помощь приветствуется!

Спасибо!

Ответы [ 3 ]

2 голосов
/ 30 мая 2020

На NDK r21d такая же ошибка. Спасибо Dan Albert за патч . Это исправляет ошибку:

в 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))
2 голосов
/ 09 июня 2020

Это https://github.com/android/ndk/issues/1267. Это будет исправлено в следующей версии NDK. Проблема возникает только тогда, когда ваш основной файл Android .mk на самом деле не называется Android .mk.

0 голосов
/ 29 мая 2020

Чтобы решить эту проблему, мне нужно удалить всю версию NDK и использовать только версии 19 и 20.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...