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在安卓真機或模擬器上運行即可。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章