我想從Unity3D調用簡單的本地函數(C++)。我也做了以下內容:Unity3d中<文件名未知>中的system.entrypointnotfoundexception
放在
libMSDKWrapper.so
在資產 - >插件 - > Android的這是我的C#代碼
using UnityEngine; using System.Collections; using System.Runtime.InteropServices; public class facebooktest : MonoBehaviour { [DllImport ("MSDKWrapper")] private static extern long getContextNative(); void Start() { Debug.Log("Hello, World!"); long context = getContextNative(); // <-- Exception thrown here Debug.Log(context); } }
我收到以下異常:
system.entry pointnotfoundexception在[0x00000]在文件名不明:0
我使用命令
的System.loadLibrary( 「MSDKWrapper」)中使用的相同libMSDKWrapper.so用java;
我能夠訪問和使用getContextNative()方法。
編輯1:我解壓縮的apk的內容,並發現libMSDKWrapper.so文件存在於test.apk/LIB/armeabi-V7A
編輯2:下面是logcat的日誌。 03-25 11:40:17.543:D/dalvikvm(26176):試圖加載lib /data/data/com.disney.citygirl.goo/lib/libMSDKWrapper.so 0x41566348 03-25 11:40:17.568: D/MSDK(26176):註冊提供程序:SN_COMMUNITY 03-25 11:40:17.568:D/MSDK(26176):註冊提供程序:SN_FACEBOOK 03-25 11:40:17.568:D/dalvikvm(26176):Added共享lib /data/data/com.disney.citygirl.goo/lib/libMSDKWrapper.so 0x41566348 03-25 11:40:17.568:I/MSDK(26176):JNI_OnLoad調用 03-25 11:40:17.573: D/dalvikvm(26176):試圖加載lib /data/data/com.disney.citygirl.goo/lib/libMSDKWrapper.so 0x41566348 03-25 11:40:17.573:D/dalvikvm(26176):Shared lib' /data/data/com.disney.citygirl.goo/lib/libMSDKWrapper.so'已經載入相同的CL 0x41566348 03-25 11:40:17.598:I/Unity(26176): System.EntryPointNotFoundException:getContextNative 03:11:40:17.598:I/Unity(26176):at(wrapper managed-to-native)SocialAccess:getContextNative() 03-25 11:40:17.598:I/Unity 26176):在SocialAccess.OnClick()[0x00000]中:0 03-25 11:40:17.598:I/Unity(26176):
03-25 11:40:17.598:I/Unity(26176): (文件名:./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp行數:43)
我們需要查看.dll實現。可能存在缺失的依賴關係。 – Jerdak 2013-03-22 15:03:07