【问题标题】:Crittercism not working on android service with separate processCrittercism 不适用于具有单独进程的 android 服务
【发布时间】:2015-07-02 11:57:39
【问题描述】:

我有一个应用程序在单独的进程中启动 android 服务。这意味着两个进程正在运行。一个是我的主要应用程序,另一个是服务。

现在我尝试通过以下方法集成crittercism(它是一个移动应用性能管理工具),但它无法为服务生成崩溃日志。

  1. 仅在应用中集成批评。

    结果 : 它只为应用生成崩溃日志,不为服务生成。

  2. onCreate() 方法中将批评整合到服务中。

    结果:它没有显示崩溃日志,也没有在实时统计中显示应用程序负载。

  3. 在应用和服务中整合批评。

    结果:它只为应用生成崩溃日志,而不是为服务生成。

那么如何获取安卓服务的崩溃日志呢?

这是我实现的代码:

MainApplication.java

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    Crittercism.initialize(getApplicationContext(), "CRITTERCISM_APP_ID");
}

MyService.java

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    Crittercism.initialize(getApplicationContext(), "CRITTERCISM_APP_ID"); // Same app id which is used for MainApplication.java
}

build.gradle 服务和主应用程序的文件:

dependencies {
    compile 'com.crittercism:crittercism-android-agent:5.0.6'
}

还为服务和主应用程序添加了以下权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

【问题讨论】:

  • #3 应该是正确的答案,因为您需要在两个进程中设置这些东西。您可以考虑在配置 Crittercism 的位置发布您的代码,也许我们可以建议一些更改。
  • @CommonsWare 我已经用代码更新了我的问题...
  • 你好 - 这里是 Crittercism 的创始人之一,你能发个便条到 support@crittercism.com 吗?
  • @crittercismrob 我已经向 support@crittercism.com 发送了一条消息。

标签: android crittercism


【解决方案1】:

我收到了 Crittercism 社区的回复,下面是他们的回复:

The crashes cannot be captured in a remote service and because its Android issue. We also do not count app loads in remote services but other data is collected: HE, Network, etc. Crittercism counts actual app loads only.

One possible work around is to manually wrap all of the top level methods in the service in a try/catch block. In the catch block, use Crittercism.logHandledException.

Here's an example:

try {
customersTopLevelMethod();
} catch (Throwable t) {
Crittercism.logHandledException(t);

// You probably want to rethrow the exception since the service will now
// be in an invalid state.
throw t;
}

这里也是链接 - http://community.crittercism.com/questions/1210/crittercism-not-working-on-android-service-with-se.html#answer-1217

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2016-06-20
    相关资源
    最近更新 更多