Android NDK: сборка после добавления нового библиотечного модуля прямо в папку jni /

В моем проекте 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"); ?

1

Решение

Во-первых, ты не бежишь 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");

Нет необходимости указывать путь.

2

Другие решения


По вопросам рекламы [email protected]