Android上的Fabric / Crashlytics - 如何使用相同的包名称拥有两个不同的crashlytics项目?

时间:2016-04-27 10:22:14

标签: android gradle crashlytics twitter-fabric

我正在开发一个Android应用程序,我想在Crashlytics / Fabric(调试和发布)中有两个不同的项目。

我知道这可以通过两个不同的包名来实现,但在我的情况下,这两种构建类型的包名必须相同。

是否有可能有两个具有相同包名的碰撞项目?

2 个答案:

答案 0 :(得分:17)

您好我几个月前也有同样的问题,我自己也解决了。希望我的回答能帮到你。

对于您的每个项目,您需要2个具有不同build.gradle的组织。

然后在您的manifestPlaceHolders文件中,您将定义debug { manifestPlaceholders = [crashlyticsApiKey: 'your_api_key_for_debug_project_here'] } release { manifestPlaceholders = [crashlyticsApiKey: 'your_api_key_for_release_project_here'] }

AndroidManifest.xml

然后,您将此变量放在<meta-data android:name="io.fabric.ApiKey" android:value="${crashlyticsApiKey}" /> 文件

上的元数据中
angular.element(document).bind('mouseup', function(){
    console.log('Hello!');
});

这就是全部,现在构建你的项目以进行重新调试和调试,你会发现你的应用程序将注册2个不同的结构帐户与相同的包nam

答案 1 :(得分:10)

还有一个选项,您无需创建多个组织。您可以将Fabric.BuilderappIdentifier(java.lang.String appIdentifier)一起使用。

唯一要做的就是从文档中替换Crashlytics初始化

Fabric.with(this, new Crashlytics());

有这样的事情:

final String trackingId = BuildConfig.APPLICATION_ID + ".tv";
Fabric fabric = new Fabric.Builder(this).kits(new Crashlytics()).appIdentifier(trackingId).build();
Fabric.with(fabric);

第二个代码段使用项目APPLICATION_ID(包名称)并添加&#34; .tv&#34;它。

注意:当您以这种方式跟踪崩溃时,Crashlytics不会自行创建项目。手动创建项目(或者已经从具有相同包名称的另一个App创建项目)非常重要。