如何将Crashlytics与Android Instant Apps集成?

时间:2017-06-05 04:50:45

标签: android crashlytics twitter-fabric android-instant-apps

link是否可以使用Crashlytics,如果可以,您如何正确设置项目?

3 个答案:

答案 0 :(得分:21)

是的,Crashlytics确实与Android Instant Apps配合使用,事实上它是现阶段推荐的崩溃报告解决方案,因为它已经过测试并且运行正常。

用于设置:

第1步

打开基本功能模块中的build.gradle文件,然后按照public docs site上的步骤正常配置Crashlytics。

第2步

在基本要素模块build.gradle文件的顶层,添加以下Crashlytics标记:

...
android {
    ...
}
crashlytics { instantAppSupport true }
...

第3步(可选但建议)

在基础库项目build.gradle中添加Instant App库依赖项(如果已经不存在docs

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

注意:要使用此依赖关系,您需要将较新的maven.google.com存储库添加到您的gradle文件中(如果您还没有)(有关详细信息,请参阅here)。

然后在您的代码中,在设置Crashlytics之后,如果当前运行是Instant App,则设置一个布尔值来记录:

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

截至2017年8月的更新 - 打破支持的新问题

最近的工具更新似乎在使用Crashlytics和Instant Apps时导致new issue,并记录以下错误:

  

此应用依赖于Crashlytics。请注册访问   https://fabric.io/sign_up,安装Android构建工具并询问   团队成员邀请您加入此应用程序的组织。

在问题解决之前,请尝试将其作为解决方法:在构建之后,找到文件com_crashlytics_build_id.xml,将其打开,从包含该文件的<string>复制您的Fabric密钥并将其粘贴到您的功能模块的正常strings.xml文件中。然后重新构建并运行。

2017年11月15日更新 - 问题已修复

现在,从Fabric gradle插件v1.24.5开始修复上述问题。您的gradle文件应具有:

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

您不需要做任何事情,只需同步您的构建以通过修复来下载更新的插件。

答案 1 :(得分:2)

除了接受的答案之外,我还需要在应用程序(apk)模块的build.gradle文件中添加下一行以使其运行。

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

答案 2 :(得分:0)

我刚用1.24.5进行测试,很好。

  

我能够像这样设置我的项目:

    基本模块中的
  1. https://fabric.io/kits/android/crashlytics/install
  2. How do I integrate Crashlytics with Android Instant Apps?
    • 添加到base / build.gradle:
      • crashlytics {instantAppSupport true}
      • 编译'com.google.android.instantapps:instantapps:1.1.0'(* 1.0.0也可以)
    • 另外添加到基础模块Application类:
      • Crashlytics.setBool(“InstantApp”,InstantApps.isInstantApp(context));
  3. 我的测试即时应用已构建,我触发了崩溃,我的信息中心记录了它。

    如果问题仍然存在,请在Google issue tracker报告,然后重新审核。