Проблема с AltBeacon после добавления push-уведомления сервера Parse

Мое приложение работало нормально, но после того, как я добавил push-уведомления с сервера разбора, я начал получать сообщение об ошибке при запуске приложения (см. Сообщение ниже), в то время как приложение открывается и работает нормально, когда я закрываю приложение, то же самое не делать фоновый поиск и уведомление.

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, вы можете попробовать отключить их, чтобы увидеть, устранит ли это проблему.

Другие вопросы по тегам