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。

谢谢你的帮助 :)