UrbanAirship 应用程序在收到消息后崩溃

UrbanAirship app crashes upon receipt of message

正在将我的 UrbanAirship 升级到 7.2。没有编译错误,应用程序运行正常,直到它收到推送消息。那时,它崩溃并显示以下堆栈跟踪:

UALib: ManifestUtils - Unable to find class: com.urbanairship.push.GCMPushReceiver java.lang.ClassNotFoundException: com.urbanairship.push.GCMPushReceiver at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:324) at java.lang.Class.forName(Class.java:285) at com.urbanairship.util.ManifestUtils.validateManifest(ManifestUtils.java:215) at com.urbanairship.UAirship.validateManifest(UAirship.java:736) at com.urbanairship.UAirship.executeTakeOff(UAirship.java:343) at com.urbanairship.UAirship.access[=10=]0(UAirship.java:42) at com.urbanairship.UAirship.run(UAirship.java:299) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.urbanairship.push.GCMPushReceiver" on path: DexPathList[[zip file "/data/app/com.xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx-1/lib/arm, /data/app/com.xxx-1/base.apk!/lib/armeabi-v7a, /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 java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:324)  at java.lang.Class.forName(Class.java:285)  at com.urbanairship.util.ManifestUtils.validateManifest(ManifestUtils.java:215)  at com.urbanairship.UAirship.validateManifest(UAirship.java:736)  at com.urbanairship.UAirship.executeTakeOff(UAirship.java:343)  at com.urbanairship.UAirship.access[=10=]0(UAirship.java:42)  at com.urbanairship.UAirship.run(UAirship.java:299)  at java.lang.Thread.run(Thread.java:818)  Suppressed: java.lang.ClassNotFoundException: com.urbanairship.push.GCMPushReceiver 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) ... 10 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

当我检查 class 是否可见 (Cmd-O) 并开始输入时,class 立即出现。

有人遇到过这种情况吗?我不知道如何解决它。谢谢

我们将 GCMPushReceiver 重命名为 GcmPushReceiver。您应该从您的清单中删除所有 Urban Airship 接收器、服务和活动,并让自动清单集成为您合并它们。