如何将 Crashlytics 与 Android 即时应用程序集成?
How do I integrate Crashlytics with Android Instant Apps?
Crashlytics work with Google Play Instant 是吗?如果是,您如何正确设置您的项目?
是的,Crashlytics 确实适用于 Android 即时应用程序,事实上,它是现阶段推荐的崩溃报告解决方案,因为它已经过测试并且工作正常。
设置:
第 1 步
打开基本功能模块中的 build.gradle
文件,然后按照 public docs site 中的步骤正常配置 Crashlytics。
第 2 步
在基本功能模块 build.gradle
文件的顶层,添加以下 Crashlytics 标志:
...
android {
...
}
crashlytics { instantAppSupport true }
...
第 3 步(可选但推荐)
在基础库项目中添加 Instant App 库依赖项 build.gradle
如果根据 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 月的更新 - 破坏支持的新问题
最近的工具更新似乎导致 new issue 在使用 Crashlytics 和 Instant Apps 时记录以下错误:
This app relies on Crashlytics. Please sign up for access at
https://fabric.io/sign_up, install an Android build tool and ask a
team member to invite you to this app's organization.
在问题解决之前,请尝试将此作为解决方法:构建后,找到文件 com_crashlytics_build_id.xml
,打开它,从那里复制包含您的 Fabric 密钥的 <string>
并粘贴将它放入您的功能模块的正常 strings.xml
文件中。然后重新构建 运行.
2017 年 11 月 15 日更新 - 问题已修复
从 Fabric gradle 插件 v1.24.5 开始,上述问题现已修复。正如你的 gradle 文件应该有:
classpath 'io.fabric.tools:gradle:1.+'
您不需要做任何事情,只需同步您的构建即可通过修复下载更新的插件。
除了接受的答案之外,我还需要在应用程序 (apk) 模块的 build.gradle 文件中添加下一行以获取它 运行.
repositories {
maven { url 'https://maven.fabric.io/public' }
}
我刚用 1.24.5 测试过,没问题。
I was able to setup my project like this:
- 在基本模块中:https://fabric.io/kits/android/crashlytics/install
- 添加到 base/build.gradle:
- crashlytics { instantAppSupport 真}
- 编译'com.google.android.instantapps:instantapps:1.1.0'(*1.0.0也可以)
- 另外添加到基本模块应用class:
- Crashlytics.setBool("InstantApp", InstantApps.isInstantApp(上下文));
我的测试即时应用程序已构建,我触发了崩溃,我的仪表板记录了它。
如果任何问题仍然存在,请报告 Google issue tracker 他们将重新开放进行检查。
Crashlytics work with Google Play Instant 是吗?如果是,您如何正确设置您的项目?
是的,Crashlytics 确实适用于 Android 即时应用程序,事实上,它是现阶段推荐的崩溃报告解决方案,因为它已经过测试并且工作正常。
设置:
第 1 步
打开基本功能模块中的 build.gradle
文件,然后按照 public docs site 中的步骤正常配置 Crashlytics。
第 2 步
在基本功能模块 build.gradle
文件的顶层,添加以下 Crashlytics 标志:
...
android {
...
}
crashlytics { instantAppSupport true }
...
第 3 步(可选但推荐)
在基础库项目中添加 Instant App 库依赖项 build.gradle
如果根据 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 月的更新 - 破坏支持的新问题
最近的工具更新似乎导致 new issue 在使用 Crashlytics 和 Instant Apps 时记录以下错误:
This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up, install an Android build tool and ask a team member to invite you to this app's organization.
在问题解决之前,请尝试将此作为解决方法:构建后,找到文件 com_crashlytics_build_id.xml
,打开它,从那里复制包含您的 Fabric 密钥的 <string>
并粘贴将它放入您的功能模块的正常 strings.xml
文件中。然后重新构建 运行.
2017 年 11 月 15 日更新 - 问题已修复
从 Fabric gradle 插件 v1.24.5 开始,上述问题现已修复。正如你的 gradle 文件应该有:
classpath 'io.fabric.tools:gradle:1.+'
您不需要做任何事情,只需同步您的构建即可通过修复下载更新的插件。
除了接受的答案之外,我还需要在应用程序 (apk) 模块的 build.gradle 文件中添加下一行以获取它 运行.
repositories {
maven { url 'https://maven.fabric.io/public' }
}
我刚用 1.24.5 测试过,没问题。
I was able to setup my project like this:
- 在基本模块中:https://fabric.io/kits/android/crashlytics/install
- 添加到 base/build.gradle:
- crashlytics { instantAppSupport 真}
- 编译'com.google.android.instantapps:instantapps:1.1.0'(*1.0.0也可以)
- 另外添加到基本模块应用class:
- Crashlytics.setBool("InstantApp", InstantApps.isInstantApp(上下文));
- 添加到 base/build.gradle:
我的测试即时应用程序已构建,我触发了崩溃,我的仪表板记录了它。
如果任何问题仍然存在,请报告 Google issue tracker 他们将重新开放进行检查。