2016-09-30 28 views
0

我的申請工作正常,但在我加入由解析服務器的推送通知,我開始時,應用程序啓動得到一個錯誤(見下面的消息),而應用程序開啓和工作好吧,當我關閉應用程序同樣是沒有做後臺的搜索和通知。AltBeacon問題

09-30 17:22:12.006 10338-10349/br.com.inconnet.inbeacon 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:324) 
                    at android.os.Parcel.readParcelableCreator(Parcel.java:2404) 
                    at android.os.Parcel.readParcelable(Parcel.java:2358) 
                    at android.os.Message.readFromParcel(Message.java:571) 
                    at android.os.Message.-wrap0(Message.java) 
                    at android.os.Message$1.createFromParcel(Message.java:527) 
                    at android.os.Message$1.createFromParcel(Message.java:525) 
                    at android.os.IMessenger$Stub.onTransact(IMessenger.java:51) 
                    at android.os.Binder.execTransact(Binder.java:453) 
                   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:324)  
                    at android.os.Parcel.readParcelableCreator(Parcel.java:2404)  
                    at android.os.Parcel.readParcelable(Parcel.java:2358)  
                    at android.os.Message.readFromParcel(Message.java:571)  
                    at android.os.Message.-wrap0(Message.java)  
                    at android.os.Message$1.createFromParcel(Message.java:527)  
                    at android.os.Message$1.createFromParcel(Message.java:525)  
                    at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)  
                    at android.os.Binder.execTransact(Binder.java:453)  
                   Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

如果我從我的AndroidManifest.xml中刪除以下信息,該應用程序再次正常工作。

<meta-data android:name="com.parse.push.gcm_sender_id" 
     android:value="id:xxxxxx" /> 
    <service android:name="com.parse.PushService" /> 
    <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="br.com.inconnet.inbeacon" /> 
     </intent-filter> 
    </receiver> 
    <receiver android:name="com.parse.ParsePushBroadcastReceiver" android:exported="false"> 
     <intent-filter> 
      <action android:name="com.parse.push.intent.RECEIVE" /> 
      <action android:name="com.parse.push.intent.OPEN" /> 
      <action android:name="com.parse.push.intent.DELETE" /> 
     </intent-filter> 
    </receiver> 

我怎樣才能使這兩個工作thogeter?

回答

1

類似的問題已報告誰是與某些其他服務和Android燈塔庫捆綁自己的應用程序鄉親。沒有已知的修復,甚至是完全理解的原因。您可以在此處詳細瞭解該問題:

https://github.com/AltBeacon/android-beacon-library/issues/306

一種說法是捆綁在一起的應用中的一些服務以某種方式在應用程序在一個單獨的進程中運行迫使其他服務,一些Android的燈塔庫不支持。

如果啓用ProGuard的設置,你可能想嘗試禁用它們,看看這使問題消失。