【问题标题】:Application crashes in onCreate due to newrelic exception由于 newrelic 异常,应用程序在 onCreate 中崩溃
【发布时间】:2014-07-24 12:09:23
【问题描述】:

我使用 Android Studio 测试版 0.8.2 创建了一个 Android 应用程序,一切都很顺利,直到最近几天我在运行它时开始收到此异常:

    07-24 14:50:11.044    1176-1176/com.vme.vme I/Crashlytics﹕ Initializing Crashlytics 1.1.11.10
07-24 14:50:11.764    2325-2325/system_process D/MobileDataStateTracker﹕ default: Broadcast received: android.intent.action.ANY_DATA_STATE apnType=default
07-24 14:50:11.769    2325-2325/system_process D/MobileDataStateTracker﹕ default: Received state=CONNECTED, old=CONNECTED, reason=(unspecified)
07-24 14:50:15.079    1176-1176/com.vme.vme W/Crashlytics﹕ Crashlytics initialization was not completed in the allotted time.
07-24 14:50:15.104    1176-1176/com.vme.vme I/dalvikvm﹕ Could not find method com.newrelic.agent.android.instrumentation.Instrumentation.openConnection, referenced from method com.vme.vme.model.network.httpClient.BasicRequestHandler.openConnection
07-24 14:50:15.104    1176-1176/com.vme.vme W/dalvikvm﹕ VFY: unable to resolve static method 30466: Lcom/newrelic/agent/android/instrumentation/Instrumentation;.openConnection (Ljava/net/URLConnection;)Ljava/net/URLConnection;
07-24 14:50:15.104    1176-1176/com.vme.vme D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0009
07-24 14:50:15.114    1176-1176/com.vme.vme I/dalvikvm﹕ Could not find method com.newrelic.agent.android.background.ApplicationStateMonitor.getInstance, referenced from method com.vme.vme.ui.activities_and_fragments.home.bases.VMEBaseActivity.onStart
07-24 14:50:15.114    1176-1176/com.vme.vme W/dalvikvm﹕ VFY: unable to resolve static method 30464: Lcom/newrelic/agent/android/background/ApplicationStateMonitor;.getInstance ()Lcom/newrelic/agent/android/background/ApplicationStateMonitor;
07-24 14:50:15.114    1176-1176/com.vme.vme D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0000
07-24 14:50:15.114    1176-1176/com.vme.vme I/dalvikvm﹕ Could not find method com.newrelic.agent.android.background.ApplicationStateMonitor.getInstance, referenced from method com.vme.vme.ui.activities_and_fragments.home.bases.VMEBaseActivity.onStop
07-24 14:50:15.114    1176-1176/com.vme.vme W/dalvikvm﹕ VFY: unable to resolve static method 30464: Lcom/newrelic/agent/android/background/ApplicationStateMonitor;.getInstance ()Lcom/newrelic/agent/android/background/ApplicationStateMonitor;
07-24 14:50:15.114    1176-1176/com.vme.vme D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0003
07-24 14:50:15.309    1176-1176/com.vme.vme D/AndroidRuntime﹕ Shutting down VM
07-24 14:50:15.309    1176-1176/com.vme.vme W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41797c80)
07-24 14:50:15.429    1176-1176/com.vme.vme E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.vme.vme, PID: 1176
    java.lang.NoClassDefFoundError: com.newrelic.agent.android.background.ApplicationStateMonitor
            at com.vme.vme.ui.activities_and_fragments.home.bases.VMEBaseActivity.onStart(VMEBaseActivity.java)

我从未在这个项目中使用过 newrelic,我搜索了“newrelic”,但在整个项目中都找不到它。

我也可以分享的东西:

  • 我有 2 个工作室实例一直在运行,在另一个项目中 **我使用的是 newrelic - 版本 2.426.0 **
  • 它发生在 Galaxy S3 和 Note 2 上。
  • 清理、重建、关闭工作室、卸载和重新安装正在解决问题。但它每天都会回来一次:(

请帮忙...

【问题讨论】:

    标签: android android-studio newrelic


    【解决方案1】:
    1. 构建启用 New Relic 的项目
    2. 从终端/命令行运行 gradle --stop
    3. 打开未启用 NR 的应用并清理和重建
    4. 运行应用程序

    如果您仍然在非 NR 应用中收到有关 New Relic 的消息,您可以转到 ~/.gradle/caches 并将其删除。然后再次尝试上述步骤。

    较新版本的 gradle 使用缓存 New Relic 检测的守护进程。所以这将停止守护进程并允许构建应用程序。

    您还需要升级到最新版本的 New Relic。 2.426.0 落后很多版本。去这里:http://docs.newrelic.com/docs/releases/android

    【讨论】:

    • 谢谢,修复了它:) 很遗憾,每次在项目之间移动时我都必须这样做。我确实应该升级 NR,也许他们解决了这个问题。
    • 顺便说一句,我必须使用本教程在我的 Mac 上安装 gradle:geektime.co.il/geektime-conference-a-month-away。所以我可以在终端上调用 gradle。
    【解决方案2】:

    为我解决的问题是从右键单击项目文件夹 -> 模块设置升级到最新的 gradle 版本 2.1 和 android 插件版本到 0.13.3

    【讨论】:

    • 是的,我也升级了它,不再使用“gradle --stop” :) 谢谢。
    【解决方案3】:

    如果您仍然在非 NR 应用中收到有关 New Relic 的消息,您可以转到项目目录并删除 .gradle 目录并重新构建项目。

    【讨论】:

    • 这不起作用。另外,.gradle 目录在重新构建后没有恢复。
    • 我又检查了一遍。我的项目有 2 个文件夹 .gradle 一个在项目级别,另一个在根目录(上一级,在 settings.gradle 所在的同一级别)。我删除了两个目录。从控制台“gradlew clean build --refresh-dependencies”重建后,只有一个在根级别恢复。
    • 我删除了 both .gradle/gradle/ 文件夹.. 终于成功了。
    猜你喜欢
    • 1970-01-01
    • 2021-02-14
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多