Ошибка сборки Android.mk - PullRequest
       7

Ошибка сборки Android.mk

0 голосов
/ 01 марта 2019

У меня проблемы с созданием готовой разделяемой библиотеки Android.В надежде выяснить, что я делаю не так, я последовал примеру от Google , где я нашел источник для этого примера в дереве android-8.1.0_r52 в файле development / ndk / tests / prebuilt-library / jni,

Вот как я могу настроить ASOP

  • $.build / envsetup.sh
  • $ lunch (я выбрал 29 aosp_bullhead_userdebug)

Затем в указанной выше папке jni я выдал «$ mm»

Я получаю ошибкуis (то же самое, что и мой другой проект)

ninja: error: 'out/target/product/bullhead/obj/SHARED_LIBRARIES/foo-prebuilt_intermediates/export_includes', needed by 'out/target/product/bullhead/obj/SHARED_LIBRARIES/foo-user_intermediates/import_includes', missing and no known rule to make it

Когда я выбираю папку out / target / products / bullhead для " foo ", я ничего не получаю.

Я также пытался заменить

include $ (PREBUILT_SHARED_LIBRARY)

на

include $ (BUILD_PREBUILT)

и получите ту же ошибку, но «obj» заменяется на «obj_arm».

Ниже приведен стандартный Android.mk, поставляемый с деревом.

LOCAL_PATH := $(call my-dir)

# Define BUILD_FOO=1 to rebuild libfoo.so from scratch, then
# copy obj/local/armeabi/libfoo.so to jni/libfoo.so
#
ifneq ($(BUILD_FOO),)

include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo/foo.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/foo
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/foo
include $(BUILD_SHARED_LIBRARY)

else # not build libfoo.so, trying to use PREBUILT_SHARED_LIBRARY instead.

# Note: the module is named foo-prebuilt, but the library is libfool.so !
#
include $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuilt
LOCAL_SRC_FILES := libfoo.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/foo
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := foo-user
LOCAL_SRC_FILES := foo-user.c
LOCAL_SHARED_LIBRARIES := foo-prebuilt
include $(BUILD_SHARED_LIBRARY)

endif

Этоструктура каталогов jni /

  • jni /

    • Android.mk

    • foo-user.c

    • libfoo.so

    • foo /

      • foo.c

      • foo.h

...