Crashlytics 是否能够与 Google Play Instant 兼容?如果可以,如何正确设置您的项目?
是的,Crashlytics可以与Android Instant Apps一起使用,事实上,它目前是推荐的崩溃报告解决方案,因为它经过测试可以正常工作。
设置过程如下:
在您的基础功能模块中打开build.gradle
文件,并按照公共文档站点上的步骤正常配置Crashlytics。
在您的基础功能模块build.gradle
文件的顶级处添加以下Crashlytics标志:
...
android {
...
}
crashlytics { instantAppSupport true }
...
根据文档,如果您的基础库项目中还没有Instant App库依赖项,请在build.gradle
文件中添加它:
compile 'com.google.android.instantapps:instantapps:1.1.0'
注意:如果您尚未添加较新的maven.google.com
仓库到您的Gradle文件中,请添加该依赖项才能使用此依赖(详见此处)。
在设置完Crashlytics后,在您的代码中设置一个布尔值来记录当前运行是否为即时应用程序:
Crashlytics.setBool("InstantApp", InstantApps.isInstantApp(context));
此应用程序依赖于Crashlytics。请在https://fabric.io/sign_up注册并安装Android构建工具。请求团队成员邀请您加入此应用程序所在的组织。
在问题修复之前,请尝试以下临时解决方法:构建后,找到文件com_crashlytics_build_id.xml
,打开它,复制包含您的Fabric密钥的<string>
并将其粘贴到功能模块的正常strings.xml
文件中。然后重新构建和运行。
上述问题现已在Fabric gradle插件v1.24.5中得到解决。因此您的gradle文件应为:
classpath 'io.fabric.tools:gradle:1.+'
您不需要做任何事情,只需要同步您的构建以获取具有修复程序的更新插件。
repositories {
maven { url 'https://maven.fabric.io/public' }
}
我刚刚测试了1.24.5版本,一切正常。
我能够像这样设置我的项目:
我的测试即时应用程序已构建完成,我触发了一个崩溃,我的仪表板记录了它。
如果还有问题,请在Google问题跟踪器上报告,他们会重新打开以进行检查。
此应用程序依赖于Crashlytics。请在https://fabric.io/sign_up注册并安装Android构建工具,并要求团队成员邀请您加入此应用程序的组织。
- Stepango