У меня есть проект xamarin android (VS2015), который я добавил в проект библиотеки привязок для Android, чтобы использовать java lib. Обертка отлично работает, и я могу вызвать классы/методы в моем проекте приложения. Однако один из классов ява зависит отДобавление .so к библиотеке привязки андроида Xamarin
armeabi/libjnisgfplib.so
Я попытался добавить к обоим/активов и/LIBS в моем приложении. BuildAction = AndroidNativeLibrary, Copy = Always. Но он не может найти lib, и я продолжаю получать.
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.company-1/base.apk"],nativeLibraryDirectories=[/data/app/com.company-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libjnisgfplib.so"
Я попытался Java.Lang.JavaSystem.LoadLibrary("libjnisgfplib");
перед вызовом класса, но я получаю то же Exeption.
Как добавить libjnisgfplib.so в мой проект, чтобы банер библиотеки привязки мог его найти?
Является ли .so внутри '/ lib /' или он вложен внутри '/ lib/arm /'? По моему опыту, вам нужно поместить файл .so в одну из двоичных папок ('arm',' x86' и т. Д.) Для его разрешения. – matthewrdev
Это в lib/armeabi/Я также попробовал руку/x86/armeabi-v7a и т. Д. – user2634703
Хм, хорошо. Следующим шагом является удаленный доступ к устройству и поиск там, где находится файл '.so':' adb shell' -> 'run-as com.company-1'. Исследуйте в папке приложений. Может быть, это будет содержать некоторые подсказки? – matthewrdev