当前位置: 首页 > 知识库问答 >
问题:

NoClassDefFoundError:com.urbanairship.飞艇配置选项(Android推送开发)

唐声
2023-03-14

我正在尝试运行一个示例项目,用于使用Urban Airship执行Android推送通知。我的程序似乎找不到这个Airship ConfigOptions类。该项目构建良好,仅在运行时抛出此错误。

以下是我的项目结构:

这是我得到的错误:

05-09 18:50:10.926:I/dalvikvm(2007):找不到方法com。城市航空。空船选项。loadDefaultOptions,从方法com引用。城市航空。推样品我的申请。onCreate 05-09 18:50:10.946:I/dalvikvm(2007):threadid=3:对信号3作出反应05-09 18:50:11.016:W/dalvikvm(2007):VFY:无法解析静态方法46:Lcom/urbanairship/AirshipConfigOptions;。loadDefaultOptions(Landroid/content/Context;)Lcom/城市航空/空船配置选项;05-09 18:50:11.016:D/dalvikvm(2007):VFY:在0x0003处替换操作码0x71 05-09 18:50:11.115:D/dalvikvm(2007):DexOpt:无法在Lcom/urbanairship/push/sample/MyApplication;的0x0f处选择直接呼叫0x004a;。onCreate 05-09 18:50:11.115:D/AndroidRuntime(2007):关闭VM 05-09 18:50:11.115:W/dalvikvm(2007):threadid=1:线程以未捕获异常退出(group=0x409c01f8)05-09 18:50:11.125:E/AndroidRuntime(2007):致命异常:main 05-09 18:50:11.125:E/AndroidRuntime(2007):java。lang.NoClassDefFoundError:com。城市航空。空船配置选项05-09 18:50:11.125:E/AndroidRuntime(2007):在com上。城市航空。推样品我的申请。onCreate(MyApplication.java:46)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。应用程序。仪器。callApplicationOnCreate(Instrumentation.java:969)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。应用程序。活动线程。handleBindApplication(ActivityThread.java:3954)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。应用程序。活动线程。在android上访问1300美元(ActivityThread.java:123)05-09 18:50:11.125:E/AndroidRuntime(2007年)。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1185)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。操作系统。汉德勒。dispatchMessage(Handler.java:99)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。操作系统。活套。loop(Looper.java:137)05-09 18:50:11.125:E/AndroidRuntime(2007):在android上。应用程序。活动线程。main(ActivityThread.java:4424)05-09 18:50:11.125:E/AndroidRuntime(2007):在java。朗,反思一下。方法Invokenactive(本机方法)05-09 18:50:11.125:E/AndroidRuntime(2007):java。朗,反思一下。方法invoke(Method.java:511)05-09 18:50:11.125:E/AndroidRuntime(2007):在com上。Android内部的操作系统。ZygoteInit$MethodandArgscaler。run(ZygoteInit.java:784)05-09 18:50:11.125:E/AndroidRuntime(2007):在com上。Android内部的操作系统。合子体。main(zyteinit.java:551)05-09 18:50:11.125:E/AndroidRuntime(2007):在dalvik。系统原生艺术。main(本机方法)05-09 18:50:11.215:E/dalvikvm(2007):无法打开堆栈跟踪文件“/data/anr/traces”。txt“:是一个目录05-09 18:50:11.486:I/dalvikvm(2007):threadid=3:对信号3作出反应05-09 18:50:11.526:I/dalvikvm(2007):将堆栈跟踪写入“/data/anr/traces”。txt'05-09 18:50:11.795:I/dalvikvm(2007):threadid=3:对信号3作出反应05-09 18:50:11.815:I/dalvikvm(2007):将堆栈跟踪写入“/data/anr/traces”。txt'

此外,我已经意识到我需要将JAR放在“libs”文件夹中,而不是“lib”文件夹中,如本文所述。

更新1:

我的AndroidManifest中有以下活动。xml:

        <activity android:name="com.urbanairship.push.sample.MainActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name="com.urbanairship.push.sample.PushPreferencesActivity" />
    <activity android:name="com.urbanairship.push.sample.LocationActivity" />

共有1个答案

颛孙嘉石
2023-03-14

你确定你在android清单文件中声明了所有内容吗?您不能只向src添加库和活动,然后运行这些东西,还必须将每个新活动添加到清单中。

从堆叠痕迹来看,你似乎错过了飞艇的活动。

你还应该检查你的构建属性,并确保你的飞艇罐子符合构建顺序。

 类似资料:
  • 轮询 客户端隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现,这就是轮询。我们可以通过AlarmManager来管理时间,当然时间的设置策略也是十分重要的,由于每次轮询都需要建立和释放TCP连接,所以在移动网络情况下耗电量相当大。 移动网络状态转换 针对不同应用的需求,有的可以每5分钟查询一次或者每10分钟查询一次,但是这种策略的电量和流量消耗十分严重。我们可以使用退避法(暂时这么说),

  • Spring Cloud Stream支持常规配置选项以及绑定和绑定器的配置。一些绑定器允许额外的绑定属性来支持中间件特定的功能。 可以通过Spring Boot支持的任何机制将配置选项提供给Spring Cloud Stream应用程序。这包括应用程序参数,环境变量和YAML或.properties文件。 Spring Cloud Stream Properties spring.cloud.s

  • 我还想为Android设置MDM环境。我该从哪里开始?无论我走到哪里,我都被转到了这一页。此页面中的示例代码链接将重定向到提供android应用程序代码示例的页面。与iPhone不同的是,Android是否需要有一个应用程序来执行MDM?

  • 概述 基于百度移动统计的用户分群功能,推出的“用户触达-精准定向”功能,可以帮助您管理基于“百度云推送”、“极光”、“个推”等平台的推送Id,并支持根据多种维度筛选定向人群进行推送。具体功能,请登录MTJ网站后,顶部Tab选择“用户分群”,再选择左侧“用户触达-精准定向”进行了解。 在使用该用能时,在SDK集成阶段,需要您通过Api上传第三方平台的推送Id以提供百度移动统计平台进行管理。 具体的A

  • SDK支持上传推送平台的设备推送ID,上传后,可以后续通过WEB端筛选,导出特定人群的推送ID。目前支持的平台:百度云,极光,个推,华为,小米,友盟,信鸽,阿里云,OPPO,魅族。 iOS端的第三方推送平台推送ID打通,请查看该链接 平台推送ID上传 调用如下API: /** * 设置推送id,设置后推送ID会回传到服务器。WEB端可以支持根据筛选规则导出推送ID,将导出的推送ID对接到特定的推

  • 本文向大家介绍StackExchange.Redis 配置选项,包括了StackExchange.Redis 配置选项的使用技巧和注意事项,需要的朋友参考一下 示例 连接到Redis服务器并允许管理(风险)命令 要么 通过SSL连接到Redis服务器 要么