【问题标题】:UrbanAirship app crashes upon receipt of messageUrbanAirship 应用程序在收到消息后崩溃
【发布时间】:2017-01-15 15:31:13
【问题描述】:

正在努力将我的 UrbanAirship 升级到 7.2。没有编译错误,应用程序运行良好,直到收到推送消息。此时,它会因以下堆栈跟踪而崩溃:

UALib:ManifestUtils - 无法找到类: com.urbanairship.push.GCMPushReceiver java.lang.ClassNotFoundException: com.urbanairship.push.GCMPushReceiver 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:324) 在 java.lang.Class.forName(Class.java:285) 在 com.urbanairship.util.ManifestUtils.validateManifest(ManifestUtils.java:215) 在 com.urbanairship.UAirship.validateManifest(UAirship.java:736) 在 com.urbanairship.UAirship.executeTakeOff(UAirship.java:343) 在 com.urbanairship.UAirship.access$000(UAirship.java:42) 在 com.urbanairship.UAirship$2.run(UAirship.java:299) 在 java.lang.Thread.run(Thread.java:818) 引起:java.lang.ClassNotFoundException:找不到类 路径上的“com.urbanairship.push.GCMPushReceiver”:DexPathList [[zip 文件 "/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, /系统/库]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:511) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:469) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:324) 在 java.lang.Class.forName(Class.java:285) 在 com.urbanairship.util.ManifestUtils.validateManifest(ManifestUtils.java:215) 在 com.urbanairship.UAirship.validateManifest(UAirship.java:736) 在 com.urbanairship.UAirship.executeTakeOff(UAirship.java:343) 在 com.urbanairship.UAirship.access$000(UAirship.java:42) 在 com.urbanairship.UAirship$2.run(UAirship.java:299) 在 java.lang.Thread.run(Thread.java:818) 抑制:java.lang.ClassNotFoundException: com.urbanairship.push.GCMPushReceiver 在 java.lang.Class.classForName(本机方法) 在 java.lang.BootClassLoader.findClass(ClassLoader.java:781) 在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 10 更多 引起:java.lang.NoClassDefFoundError: Class not found using the 引导类加载器;没有可用的堆栈跟踪

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

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

【问题讨论】:

  • 你能分享你的 AndroidManifest 文件吗?我认为您可能缺少清单文件中的接收器
  • @android_Muncher 可能是对的。确保它在那里。如果它已经是,尝试一个干净的构建,Android Studio 有时会做一些莫名其妙的事情......

标签: android urbanairship.com


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2019-09-04
    • 2018-08-10
    • 2013-06-23
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    相关资源
    最近更新 更多