我正在尝试将AltBeacon库与远程服务中的测距功能一起使用.但是,我现在无法成功地使信标检测成功运行.声明与本地服务相同的服务时一切正常.
当服务在其自己的进程中运行时,函数startRangingBeaconsInRegion()似乎抛出以下异常:
09-17 17:09:14.643 10709-10729/com.my.project E/Parcel﹕ Class not found when unmarshalling: org.altbeacon.beacon.service.StartRMData
java.lang.ClassNotFoundException: org.altbeacon.beacon.service.StartRMData
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
at android.os.Parcel.readParcelableCreator(Parcel.java:2281)
at android.os.Parcel.readParcelable(Parcel.java:2245)
at android.os.Message.readFromParcel(Message.java:571)
at android.os.Message.access$000(Message.java:32)
at android.os.Message$1.createFromParcel(Message.java:527)
at android.os.Message$1.createFromParcel(Message.java:524)
at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
at android.os.Binder.execTransact(Binder.java:446)
Caused by: java.lang.ClassNotFoundException: org.altbeacon.beacon.service.StartRMData
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:469)
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
at android.os.Parcel.readParcelableCreator(Parcel.java:2281)
at android.os.Parcel.readParcelable(Parcel.java:2245)
at android.os.Message.readFromParcel(Message.java:571)
at android.os.Message.access$000(Message.java:32)
at android.os.Message$1.createFromParcel(Message.java:527)
at android.os.Message$1.createFromParcel(Message.java:524)
at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
at android.os.Binder.execTransact(Binder.java:446)
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
09-17 17:09:14.643 10709-10729/com.my.project W/Binder﹕ Caught a RuntimeException from the binder stub implementation.
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: org.altbeacon.beacon.service.StartRMData
at android.os.Parcel.readParcelableCreator(Parcel.java:2295)
at android.os.Parcel.readParcelable(Parcel.java:2245)
at android.os.Message.readFromParcel(Message.java:571)
at android.os.Message.access$000(Message.java:32)
at android.os.Message$1.createFromParcel(Message.java:527)
at android.os.Message$1.createFromParcel(Message.java:524)
at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
at android.os.Binder.execTransact(Binder.java:446)
这个问题有什么解决方案吗?
最佳答案 Android Beacon Library并非设计为在自己的进程中运行,因此您所描述的内容是不可能的.您可以在此处的问题讨论中看到更详细的讨论原因:
https://github.com/AltBeacon/android-beacon-library/issues/291