1. 程式人生 > >Unity Android呼叫.so檔案

Unity Android呼叫.so檔案

最近做一個專案,釋出目標平臺是Android,開發中需要呼叫甲方的.so檔案(用NDK直接編譯C++檔案而成),網上查了下呼叫方式,和呼叫DLL相同,大致步驟如下:
1.將.so檔案放在Assets/Plugins/Android目錄下;
2.C#檔案中使用[DllImport(“檔名”)](不含lib字首和.so字尾)來呼叫其中的方法;

但是,任我千方百計,總是報錯dllnotfoundexception,折騰好久,終於明白:
1.playersettings中的device filter一定要選擇armv7,而不能選擇FAT(armv7+x86);
2. .so檔案的platform settings中CPU選擇armv7;
3. 不論怎麼選擇,editor中是無法執行程式的,會一直報錯dllnotfoundexception,釋出成apk在安卓真機或模擬器上執行即可。

因為網上很少記錄這個坑的,所以特此記錄,但因水平有限,可能記錄有所偏頗,大家參考就好。