Так, вам потрібно додати: 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
це не потрібно, а інша відповідь була правильною, вони насправді були невірними в цій ситуації.