サーチ…


備考

最高の完全なwikiはgithubでここにあります。

ファブリック - クラッシュ・スティックス

Fabricは、アプリケーションを構築するために組み合わせることができる有用なキットを提供するモジュール式モバイルプラットフォームです。 Crashlyticsは、アプリケーションを詳細に追跡および監視できるようにする、Fabricによって提供されるクラッシュおよび問題のレポートツールです。


Fabric-Crashlyticsの設定方法

ステップ1: build.gradle変更する:

プラグインレポとgradleプラグインを追加してください:

 buildscript {
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }

  dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

プラグインを適用する:

apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'

Fabric Repoを追加します。

repositories {
  maven { url 'https://maven.fabric.io/public' }
}

Crashlyricsキットを追加する:

dependencies {
  
  compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
    transitive = true;
  }
}

手順2: AndroidManifest.xml APIキーインターネットアクセス許可を追加する

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <application
     ... >
      
      <meta-data
          android:name="io.fabric.ApiKey"
          android:value="25eeca3bb31cd41577e097cabd1ab9eee9da151d"
          />

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

ステップ3:あなたのコードで実行時にキットを初期化します。例えば:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      //Init the KIT
      Fabric.with(this, new Crashlytics());

      setContentView(R.layout.activity_main);
    }
}

ステップ4:プロジェクトをビルドします。ビルドして実行するには:

ここに画像の説明を入力


Fabric IDEプラグインの使用

キットは、 このリンクに続いてAndroid StudioまたはIntelliJ用のFabric IDEプラグインを使用してインストールできます。

ここに画像の説明を入力

プラグインをインストールしたら、Androidのメーカーを再起動するAndroid Studioを使用してアカウントにログインします。

(ショートキー> CTRL + L

ここに画像の説明を入力

次に、あなたが持っているプロジェクト/あなたが開いたプロジェクトを表示し、必要なプロジェクトを選択して、次へをクリックします。

追加したいキットを選択してください。その例はCrashlyticsです:

ここに画像の説明を入力

その後、 Install 。今度はgradleプラグインのように手動で追加する必要はありませんが、代わりにあなたのために構築されます。

ここに画像の説明を入力

完了!

ACRAによるクラッシュレポート

ステップ1:最新のACRA AARの依存関係をアプリケーションのgradle(build.gradle)に追加します。

ステップ2:アプリケーションクラス(Applicationを拡張するクラス、それを作成しない場合) @ReportsCrashesアノテーションを追加し、 attachBaseContext()メソッドをオーバーライドします。

手順3:アプリケーションクラスでACRAクラスを初期化する

@ReportsCrashes(
    formUri = "Your choice of backend",
    reportType = REPORT_TYPES(JSON/FORM),
    httpMethod = HTTP_METHOD(POST/PUT),
    formUriBasicAuthLogin = "AUTH_USERNAME",
    formUriBasicAuthPassword = "AUTH_PASSWORD,
    customReportContent = {
            ReportField.USER_APP_START_DATE,
            ReportField.USER_CRASH_DATE,
            ReportField.APP_VERSION_CODE,
            ReportField.APP_VERSION_NAME,
            ReportField.ANDROID_VERSION,
            ReportField.DEVICE_ID,
            ReportField.BUILD,
            ReportField.BRAND,
            ReportField.DEVICE_FEATURES,
            ReportField.PACKAGE_NAME,
            ReportField.REPORT_ID,
            ReportField.STACK_TRACE,
    },
    mode = NOTIFICATION_TYPE(TOAST,DIALOG,NOTIFICATION)
    resToastText = R.string.crash_text_toast)

    public class MyApplication extends Application {
     @Override
            protected void attachBaseContext(Context base) {
                super.attachBaseContext(base);
                // Initialization of ACRA
                ACRA.init(this);
            }
    }

AUTH_USERNAMEとAUTH_PASSWORDは、必要なバックエンドの資格です。

ステップ4:AndroidManifest.xmlにApplicationクラスを定義する

 <application
        android:name=".MyApplication">
        <service></service>
        <activity></activity>
        <receiver></receiver>
 </application>

ステップ5:クラッシュしたアプリケーションからレポートを受け取るinternetアクセス権があることを確認する

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

サイレントレポートをバックエンドに送信する場合は、以下の方法を使用して達成してください。

ACRA.getErrorReporter().handleSilentException(e);

ファブリックでテストクラッシュを強制する

タップしてクラッシュを引き起こすことができるボタンを追加します。このコードをレイアウトに貼り付け、ボタンを表示します。

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="Force Crash!"
    android:onClick="forceCrash"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

RuntimeExceptionをスローする

public void forceCrash(View view) {
    throw new RuntimeException("This is a crash");
}

アプリを実行して新しいボタンをタップすると、クラッシュする可能性があります。 1〜2分で、Crashlyticsダッシュボードでクラッシュを確認できるだけでなく、メールを受け取ることができます。

Sherlockを使用してクラッシュをキャプチャする

Sherlockはすべてのクラッシュを捕捉し、通知として報告します。通知をタップすると、クラッシュの詳細がすべて表示され、デバイスとアプリケーションの情報が表示されます

あなたのアプリケーションにSherlockを統合するには?

あなたはあなたのプロジェクトにgradleの依存関係としてSherlockを追加するだけです。

dependencies {
    compile('com.github.ajitsing:sherlock:1.0.1@aar') {
        transitive = true
    }
}

Androidスタジオを同期した後、アプリケーションクラスでSherlockを初期化します。

package com.singhajit.login;

import android.app.Application;

import com.singhajit.sherlock.core.Sherlock;

public class SampleApp extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    Sherlock.init(this);
  }
}

それはあなたがする必要があることすべて。また、Sherlockはクラッシュを報告するだけではありません。すべての機能をチェックアウトするには、この記事をご覧ください

デモ

ここに画像の説明を入力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow