Да, вам нужно добавить: LOCAL_LDLIBS := -llog
, как указано в других ответах / комментариях, однако в исходном вопросе не было указано, использует ли он библиотеку jni как: LOCAL_JNI_SHARED_LIBRARIES
или как LOCAL_REQUIRED_MODULES
.
Я могу точно сказать, что он использовал это как: LOCAL_REQUIRED_MODULES
из-за LOCAL_EXPORT_LDLIBS := -llog
в вопросе ... если только это не было добавлено после редактирования.
Если вы используете LOCAL_REQUIRED_MODULES
, разделяемая библиотека устанавливается в / system / lib, а не в apk, потому что это обязательный модуль. Поэтому вам нужно будет добавить LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
вместо просто LOCAL_LDLIBS := -llog
, чтобы при сборке и компоновке совместно используемой библиотеки jni система сборки имела определения -llog
в правильном месте, доступном для сборки под $OUT/root/system/lib
. В противном случае вы продолжите получать тот же ответ, даже если вы добавите только LOCAL_LDLIBS := -llog
.
Итак, те, кто прокомментировал, что -L
не нужен, а другой ответ был верным, они действительно были неверны в этой ситуации.