ClassNotFound com.estimote.coresdk.recognition.utils.DeviceId

时间:2017-07-13 20:04:13

标签: android unity3d estimote

我在尝试构建和运行与AWE_Estimote试用包捆绑在一起的演示应用程序时收到有关路径上缺少的classdef的错误消息。理论上,演示应用程序应该正常工作,脚本中没有任何内容看起来是错误的。我没有正确构建它吗?

AndroidPlayer(ADB@127.0.0.1:34999)</i> AndroidJavaException: java.lang.NoClassDefFoundError: com.estimote.coresdk.recognition.utils.DeviceId
java.lang.NoClassDefFoundError: com.estimote.coresdk.recognition.utils.DeviceId
    at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
    at java.lang.Class.getDexCacheType(Class.java:479)
    at java.lang.reflect.ArtMethod.getDexCacheType(ArtMethod.java:198)
    at java.lang.reflect.ArtMethod.getReturnType(ArtMethod.java:152)
    at java.lang.reflect.Method.getReturnType(Method.java:184)
    at java.lang.Class.getDeclaredMethods(Class.java:801)
    at com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source)
    at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    at com.unity3d.player.UnityPlayer.c(Unknown Source)
    at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:145)
    at com.unity3d.player.UnityPlayer$c.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.estimote.coresdk.recognition.utils.DeviceId" on path: DexPathList[[zip file "/data/app/com.vemilab.beacons-2/base.apk"],nativeLibraryDirectories=[/data/app/com.vemilab.beacons-2/lib/arm, /vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    at libcore.reflect.InternalNames.getClass(InternalNames.java:53)
    ... 12 more
    Suppressed: java.lang.ClassNotFoundException: com.estimote.coresdk.recognition.utils.DeviceId
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
        ... 14 more
    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
  at UnityEngine.AndroidJNISafe.CheckException () [0x0008c] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJNISafe.cs:24 
  at UnityEngine.AndroidJNISafe.CallStaticObjectMethod (IntPtr clazz, IntPtr methodID, UnityEngine.jvalue[] args) [0x00011] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJNISafe.cs:207 
  at UnityEngine.AndroidReflection.GetMethodMember (IntPtr jclass, System.String methodName, System.String signature, Boolean isStatic) [0x00057] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:694 
  at UnityEngine._AndroidJNIHelper.GetMethodID (IntPtr jclass, System.String methodName, System.String signature, Boolean isStatic) [0x0000c] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJavaImpl.cs:1156 

(Filename: /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJNISafe.cs Line: 24)

我是Android开发的新手,并不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

您的应用必须指定对Estimote Android SDK的依赖关系。请参阅该repo中的README以了解如何执行此操作。