使用urbanairship Provider android的问题

Posted

技术标签:

【中文标题】使用urbanairship Provider android的问题【英文标题】:Prolem using urbanairship Provider android 【发布时间】:2013-05-17 13:00:58 【问题描述】:

我正在使用 urbanairship 来显​​示通知。我已将我的 android SDK 更新为最新更新,它开始显示与 urbanairship 提供商相关的错误,并且在旧版本上运行良好。

05-22 17:54:30.476: E/AndroidRuntime(575): FATAL EXCEPTION: main
05-22 17:54:30.476: E/AndroidRuntime(575): java.lang.RuntimeException: Unable to get provider com.urbanairship.UrbanAirshipProvider: java.lang.ClassNotFoundException: com.urbanairship.UrbanAirshipProvider
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.installProvider(ActivityThread.java:4289)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4041)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3995)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.access$1300(ActivityThread.java:127)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1217)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.main(ActivityThread.java:4508)
05-22 17:54:30.476: E/AndroidRuntime(575):  at java.lang.reflect.Method.invokeNative(Native Method)
05-22 17:54:30.476: E/AndroidRuntime(575):  at java.lang.reflect.Method.invoke(Method.java:511)
05-22 17:54:30.476: E/AndroidRuntime(575):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
05-22 17:54:30.476: E/AndroidRuntime(575):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
05-22 17:54:30.476: E/AndroidRuntime(575):  at dalvik.system.NativeStart.main(Native Method)
05-22 17:54:30.476: E/AndroidRuntime(575): Caused by: java.lang.ClassNotFoundException: com.urbanairship.UrbanAirshipProvider
05-22 17:54:30.476: E/AndroidRuntime(575):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
05-22 17:54:30.476: E/AndroidRuntime(575):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-22 17:54:30.476: E/AndroidRuntime(575):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-22 17:54:30.476: E/AndroidRuntime(575):  at android.app.ActivityThread.installProvider(ActivityThread.java:4274)
05-22 17:54:30.476: E/AndroidRuntime(575):  ... 12 more

我在我的项目中使用 urbanairship-lib-2.1.4.jar。是否有任何兼容性问题或什么?

【问题讨论】:

同样的错误。不知道如何解决 :(( 显然问题出在新的 ADT 中,因为这个错误是在我更新后立即出现的 嘿试试下面给出的答案真的有效:) 【参考方案1】:

是的!刚刚找到了解决方案! 问题出在Android Private Libraries 中,它是在最新更新中引入的。由于某些原因,默认情况下它们在项目属性中被勾选关闭

只需转到 Project -> Properties -> Java Build Path -> Order and Export 并检查 Android Private Libraries 。这解决了我的问题。

【讨论】:

以上是关于使用urbanairship Provider android的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 CodeIgniter cURL 通过 UrbanAirship 发送推送通知

UrbanAirship有啥意义?

来自 UrbanAirship 的推送通知不适用于 android 中的实时服务器(即使用生产密钥)

禁用 UrbanAirship 警报

iphone推送通知urbanairship

在 UrbanAirship 中为 Phonegap 获取传入