web-dev-qa-db-ja.com

CrashlyticsをAndroid Instant Appsと統合するにはどうすればよいですか?

CrashlyticsGoogle Play Instant で動作しますか?動作する場合、プロジェクトを正しく設定するにはどうすればよいですか?

18
AdamK

はい、CrashlyticsはAndroid Instant Appsで動作します。実際、テスト済みで正常に動作するため、この段階で推奨されるクラッシュレポートソリューションです。

セットアップの場合:

ステップ1

基本機能モジュールでbuild.gradleファイルを開き、 public docs site の手順に従って、Crashlyticsを通常どおりに構成します。

ステップ2

基本機能モジュールのbuild.gradleファイルのトップレベルで、次のCrashlyticsフラグを追加します。

...
Android {
    ...
}
crashlytics { instantAppSupport true }
...

ステップ3(オプションですが推奨)

docs のように、ベースライブラリプロジェクトbuild.gradleにInstant Appライブラリの依存関係がまだない場合は、追加します。

compile 'com.google.Android.instantapps:instantapps:1.1.0'

注:この依存関係を使用するには、新しいmaven.google.comリポジトリをまだgradleファイルに追加していない場合は追加する必要があります( ここを参照) 詳細)。

次に、コードで、Crashlyticsを設定した後、現在の実行がインスタントアプリである場合にログに記録するブール値を設定します。

Crashlytics.setBool("InstantApp", InstantApps.isInstantApp(context));

2017年8月現在の更新-サポートを中断する新しい問題

最近のツールの更新により、次のエラーをログに記録するCrashlyticsおよびInstant Appsを使用しているときに 新しい問題 が発生したようです。

このアプリはCrashlyticsに依存しています。 https://fabric.io/sign_up でアクセスにサインアップし、Androidビルドツールをインストールして、チームメンバーにこのアプリの組織に招待するよう依頼してください。

問題が修正されるまで、回避策としてこれを試してください。ビルド後、ファイルcom_crashlytics_build_id.xmlを見つけて開き、Fabricキーを含む<string>をそこからコピーして、機能モジュールの通常のstrings.xmlファイルに貼り付けます。次に、再構築して実行します。

2017年11月15日現在の更新-問題が修正されました

上記の問題は、Fabricgradleプラグインv1.24.5で修正されました。 Gradleファイルには次のものが必要です。

classpath 'io.fabric.tools:gradle:1.+'

ビルドを同期して、更新されたプラグインを修正してプルダウンする以外に何もする必要はありません。

21
AdamK

受け入れられた回答の内容に加えて、アプリケーション(apk)モジュールのbuild.gradleファイルに次の行を追加して実行する必要もありました。

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

1.24.5でテストしたところ、問題ありませんでした。

私は次のようにプロジェクトをセットアップすることができました:

  1. 基本モジュール内: https://fabric.io/kits/Android/crashlytics/install
  2. CrashlyticsをAndroid Instant Appsと統合するにはどうすればよいですか?
    • base/build.gradleに追加:
      • crashlytics {instantAppSupport true}
      • コンパイル 'com.google.Android.instantapps:instantapps:1.1.0'(* 1.0.0も機能します)
    • さらに、基本モジュールにアプリケーションクラスを追加します:
      • Crashlytics.setBool( "InstantApp"、InstantApps.isInstantApp(context));

テストインスタントアプリがビルドされ、クラッシュがトリガーされ、ダッシュボードがログに記録しました。

問題が解決しない場合は、 Google Issue Tracker で報告してください。再度開いて調査します。

0
Prags