Unity C#和Layar SDK Java – AndroidJavaException
我试图将Layar SDK集成到Unity中。 但是我有一些问题。
这是AndroidManifest.xml
这是我的c#
using UnityEngine; public class IntegrationLayar : MonoBehaviour { private AndroidJavaObject LayarSDK = null; private AndroidJavaObject activity = null; private AndroidJavaObject context = null; private string oauthKey = "code"; private string oauthSecret = "code2"; void Start () { if (LayarSDK == null) { using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { activity = unityPlayer.GetStatic("currentActivity"); context = activity.Call("getApplicationContext"); //activity.Call("runOnUiThread", new AndroidJavaRunnable(runOnUiThread)); Debug.Log("unity3D JAVA - Working"); } using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.layar.player")) { if (pluginClass != null) { Debug.Log("Layar Java - Working"); pluginClass.CallStatic("initialize", context, oauthKey, oauthSecret); pluginClass.CallStatic("startLayarActivity", context); } } } } }
错误 :
AndroidJavaException:java.lang.ClassNotFoundException:com.layar.player
据我所知,在Java中没有find类似这样的类。 那么问题是什么? 我打电话错了吗?
这里是链接到Layar API 链接
正如我在Layar API中看到的,类是“LayarVisionSDK”。
AndroidJavaClass pluginClass = new AndroidJavaClass("com.layar.player.LayarVisionSDK")
所以也许这应该工作?
我当然做错了,但是如果你们中的任何一个人有方向,我会很高兴的了解:)
更新1:
这是来自APK
Class LayarVisionSDK java.lang.Object com.layar.sdk.LayarVisionSDK
所以,而不是使用
AndroidJavaClass pluginClass = new AndroidJavaClass("com.layar.player.LayarVisionSDK")
我在用着
AndroidJavaObject LayarVisionSDK = new AndroidJavaObject("com.layar.sdk.LayarVisionSDK");
但仍然没有成功。 我问自己,如果问题可能不是它似乎是什么。
更新2:
好 ! 我发现为什么我得到这个错误,API文档没有更新,所以我检查了Java包,发现“initialize”方法在哪里。
所以这里是新的C#代码。
using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.layar.sdk.LayarSDK")) { if (pluginClass != null) { Debug.Log("SDK LAYAR FOUND !!! "); pluginClass.CallStatic("initialize", context, oauthKey, oauthSecret); Debug.Log("INITIALIZED"); //pluginClass.Call("startLayarActivity", context); } }
但是我得到了一个新的错误:
AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/ContextCompat;
我错过了一个android库吗?
确保在一个Plugins / Android / libs文件夹下有android-support-v4.jar。
你可以从这里下载文件。
好的,我正在努力!
我只是添加android支持lib和kotlin lib。
谢谢你的帮助 :)