Я пытаюсь получить Native C/C++ библиотеку, работающую с Monodroid в эмуляторе, используя DllImport. Я развиваюсь в основном в Windows/Visual Studio 2010.Mono Android Monodroid Native Library DllNotFoundException
Я создал собственную библиотеку C/C++ (ZeroMQ) с помощью инструментов Android NDK, как на платформах x86, так и на armeabi, используя виртуальную машину Ubuntu. Правильно ли это - x86 для эмулятора и armeabi для реального устройства? (Это, безусловно, имеет место на iPhone/MonoTouch - хотя в этом случае статически связанный файл libzmq.a и DllImport __Internal)
Я добавил x86 версию libzmq.so в мой проект MonoDroid в структуре каталогов lib \ x86 \ libzmq.so
Когда я впервые попытался создать/развернуть симулятор, я получил сообщение об ошибке «не могу определить тип abi», поэтому я добавил x86 в AndroidNativeLibrary Include = «lib \ x86 \ libzmq. поэтому ">. Затем это развернуто.
У меня есть DllImport для функции для вызова [DllImport ("libzmq"
Я попытался libzmq.so, Lib/x86/libzmq, Lib/x86/libzmq.so и т.д., но я называю метод DllImported (работает в эмуляторе), я всегда получаю DllNotFoundException
Может кто-нибудь дать мне направление
EDIT:.? После прочтения другой поддержки ответа, который гласит, что эмулятор использует armeabi библиотеку .so, я удалили x86/libzmq и добавили мою lib/armeabi/libzmq.so в качестве AndroidNativeLibrary. Я также удалил запись файла проекта Abi и, действительно, проект построен и развернут отлично.
Однако I все еще получает исключение DllNotFoundException при попытке вызвать функцию DllImported. Есть идеи?
Большое спасибо