В моем проекте Android NDK у меня было только один библиотечный модуль:
jni/
Android.mk
... (more source files)
Затем мне нужно добавить еще один новый библиотечный модуль, который не имеет связи с существующим библиотечным модулем. Я имею в виду, что они независимы. Я непосредственно добавил новую библиотеку под jni/
папка.
jni/
Android.mk
... (more source files)
new-lib/
Android.mk
... (more source files)
Вопрос 1:
я бегу ndk-build
Команда под моим проектом Android, чтобы построить. Но новый Пб не построен вообще. Это потому, что мне нужно объявить new-lib
модуль в Android.mk под JNI / папка? Если так, как объявить?
Вопрос 2: когда я загружаю new-lib (предположим, имя модуля «newlib»), я должен использовать
System.loadLibrary("new-lib/newlib");
или просто
System.loadLibrary("newlib");
?
Во-первых, ты не бежишь android-ndk
команда, вы запускаете ndk-build
команда.
Вопрос 1:
Вы можете сказать свой верхний уровень Android.mk
то есть $ PROJECT / jni / Android.mk, чтобы включить другой Android.mk
которые расположены в разных местах / подкаталогах.
Если вы определили любой Android.mk
файлы в подкаталогах, вы должны явно включить их в ваш верхний уровень Android.mk
, Для этого есть вспомогательная функция
include $(call all-subdir-makefiles)
Просто добавьте это в свой верхний уровень Android.mk
файл. Это будет включать в себя все Android.mk
файлы из подкаталогов текущего пути к файлу.
Вопрос 2:
use System.loadLibrary("newlib");
Нет необходимости указывать путь.