Android NDK java.lang.UnsatisfiedLinkError: findLibrary вернул ноль - PullRequest
51 голосов
/ 27 января 2012

Имеете вышеуказанную ошибку в вашем приложении JNI для Android? Читайте дальше ...

Вначале я скажу, что я уже решил это по-своему, но я чувствую, что что-то в системе сборки Android (возможно, в отношении Eclipse) сломалось, и я надеюсь сэкономить кому-то еще несколько часов боли , Возможно, другие сталкивались с этой проблемой и могут прокомментировать, что сработало для них.

Некоторое время у меня был проект Android с некоторым JNI-кодом, который я разработал с использованием NDK. Затем сегодня я что-то изменил в коде java, а затем poof, я больше не мог загружать свою библиотеку JNI. Не удалось с исключением как:

E / AndroidRuntime (999): java.lang.UnsatisfiedLinkError: Не удалось загрузить mylibrary: findLibrary вернул null

Я гуглил и пробовал все (пересборка, закрытие и повторный запуск Eclipse и т. Д. И т. Д.)

Что в итоге решило мою проблему? Я физически удалил свое приложение с устройства перед тем, как повторить попытку. Вот и все. После этого все заработало. Что сработало для вас?

Ответы [ 15 ]

1 голос
/ 03 января 2015

У меня просто так было, и проблема была в том, что на устройстве просто не хватало места для установки библиотеки. Я удалил некоторые другие приложения, и тогда это сработало.

1 голос
/ 28 декабря 2013

Если у вас есть собственный проект с "libXYZ.so", убедитесь, что /system/lib/libXYZ.so не существует на вашем устройстве. Есть обходной путь: использовать

System.load("/data/data/your.package.name/lib/libXY.so") 

вместо System.loadLibrary () .

1 голос
/ 17 декабря 2012

Нет необходимости рутировать устройство .. разверните приложение на эмуляторе и просмотрите папку

0 голосов
/ 22 мая 2015

UnsatisfiedLinkerror решается с помощью этого. Создайте свой .so файл снова "ndk_build"

0 голосов
/ 01 марта 2013

Была идентичная проблема. Просто убрал проект и все заработало. Mystery ..

...