Я создаю очень простую общую библиотеку c ++ в Android Studio и использую CMAKE для сборки .so для x86, x86_64, armeabi-v7a, arm64-v8a
Полученные файлы называются libnative-lib.so
Я использую Unity3D (2018.3.11f1).и .so файлы копируются в плагины / Android_x86, плагины / Android_x86_64, плагины / Android_armeabi-v7a, плагины / Android_arm64-v8a.
Каждый из плагинов отображается с правильными настройками в окне предварительного просмотра инспектора
My C ++
extern "C" int initTest() {
return -1;
}
my c # (вызывая плагин 'native-lib', который соответствует рекомендациям в руководстве по Unity3D и в других местах)
[DllImport("native-lib", CallingConvention = CallingConvention.Cdecl)]
public static extern int initTest();
// Start is called before the first frame update
void Start()
{
Debug.Log(initTest());
}
Это всегда приводит к ошибке DllNotFoundException
DllNotFoundException: native-lib