覆盖 Crashlytics 报告的 android 包名称

Posted

技术标签:

【中文标题】覆盖 Crashlytics 报告的 android 包名称【英文标题】:Override android package name for Crashlytics reporting 【发布时间】:2014-09-25 05:22:21 【问题描述】:

在 Amazon AppStore 中,您可以分发 Google Play 风格的应用程序以及为 Fire Phone 和 Fire TV 高度定制的应用程序。为此,您需要生成两个不同的二进制文件(它们实际上可能完全不同,应该完全被视为两个不同的应用程序)。

创建二进制文件后,您需要通过 Amazon AppStore 将它们分发到适当的设备。这就是问题所在 - 因为所有二进制文件都需要具有相同的包名。

使用 Crashlytics 跟踪具有相同软件包名称的两个不同应用程序的首选方法是什么?

我已尝试使用找到的说明设置自定义包名称 here 用于向 Crashlytics 报告不同的包 - 但是,即使在强制多次崩溃并观察 SDK 上传报告后,自定义包名称也从未出现在 Crashlytics 中。

【问题讨论】:

我认为您应该先设置自定义包名称。 powerfj,我不确定我是否理解。我似乎无法让 android Studio 插件添加应用程序,因为它认为应用程序已经存在(com.example.android 是所有应用程序使用的包)。 我认为因为你没有包名(如 com.example.app_tv)在 crashlystics 中成功覆盖安装,所以你可以尝试使用确切的包设置测试应用程序name(com.example.app_tv) 先成功,然后在你的生产应用中覆盖包 【参考方案1】:

使用新的 Fabric 的 Crashlytics,您可以直接配置包名称以在 Fabric.Builder 工厂中使用,如果不设置则默认为 context.getPackageName()。

Fabric.with(new Fabric.Builder(context).kits(new Crashlytics()).appIdentifier("com.stuff.overriden").build());

【讨论】:

这对我不起作用。仍然使用应用程序的实际包名称报告崩溃。有什么需要注意的吗? 我发布了一个错误报告,由于什么都没做,我们切换到 ACRA。 twittercommunity.com/t/… 我将这个 Gist (gist.github.com/tyvsmith/6188014) 与解决方案结合使用。 这也可以与 CrashlyticsCore 一起使用吗?当我在这个答案中使用该行时,我得到一个 UnmetDependencyException。

以上是关于覆盖 Crashlytics 报告的 android 包名称的主要内容,如果未能解决你的问题,请参考以下文章

当有另一个崩溃报告时,Crashlytics 不会发送崩溃报告 (Umeng)

Crashlytics 不报告崩溃

Crashlytics 未提供适当的崩溃报告

Crashlytics 崩溃报告提到了 XposedBridge

Crashlytics 不发送崩溃报告 [iOS]

Crashlytics 未报告任何前台 OOM