我们有一个 Android 库,它在一个单独的进程中完成所有工作(在清单中使用Service
withandroid:process
标记),我正在尝试对其使用 Fabric.io 崩溃报告。
目前,我们还在为使用该库的第 3 方开发应用程序,因此现在是测试它的好时机。
目前,我已使用标准方式将 Fabric crashlytics 添加到应用程序主进程本身:
Fabric.with(this, new Crashlytics());
这会从清单中获取 API 密钥。
我的问题是没有构造函数或构建器可以为其他进程指定不同的 API 密钥,或者即使我只想为这个项目使用相同的 API 密钥,我还没有看到正式的多进程支持(据我所见,使用 Android Studio 反编译器,Fabric 似乎保存为磁盘上的文件,这似乎不太适合多进程应用程序)。
我发现的唯一可能的可能路径是将 ContextWrapper 传递给 Fabric 初始化并在那里拦截 api 密钥。但这听起来有很大的错误空间。
所以问题:
- 有没有办法使用选定的 api 密钥来初始化 Fabric/Crashlitics?如何?
- 如果我不能用 apiKey 初始化,在多进程中使用它是否安全?我可以在这个 1-off 应用程序中使用吗?