Да, вам нужно добавить: 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
это не нужно, а другой ответ был правильным, на самом деле были неправильными в этой ситуации.