Мне интересно, можно ли попросить AndridStudio использовать мой собственный файл Android.mk?
Я спрашиваю об этом, потому что мой код jni как бы копирует этот исходный код моего другого проекта (вне папки jni). Мне удалось правильно работать с моим собственным файлом Android.mk. Однако после определенного обновления кажется, что Grand’s «ndk {}» создаст собственную версию Android.mk и разрушит мой проект.
Например, ниже приведен пример моей структуры кода jni:
|- other_project/
| |- includes/
| |- other_code.cpp
|
|- android_project
|- app/src/main/
|- java/
|- jni/
|- Android.mk
|- Application.mk
|- code.cpp
и мой собственный Android.mk
// ... some other settings ...
LOCAL_C_INCLUDES := \
$(LOCAL_PATH) \
$(LOCAL_PATH)/../../../../other_project/include/
LOCAL_SRC_FILES := \
../../../../other_project/other_code.cpp \
code.cpp
В моем build.gradle:
ndk {
moduleName = "xxxx" // module for standalone processing
ldLibs "log"stl "stlport_shared"cFlags "-DDEV_NDK=1 -v"}
Я знаю, что это использует другой Android.mk (автоматически сгенерированный на основе настройки ndk), потому что некоторые из моих настроенных флагов c (в моем собственном Android.mk) отсутствуют, пока я не добавлю поле cFlags в ndk {}.
Итак, мой вопрос: есть ли способ заставить ndk {} использовать мой Android.mk для сборки? или как я могу добавить правильные параметры в ndk {} для создания аналогичного Android.mk, который может включать файлы .cpp / .h вне папки jni?
Задача ещё не решена.
Других решений пока нет …