我在Xamarin Android项目中添加Firebase Crashlytics时遇到一些问题。我在Visual Studio中创建了一个空的android项目。然后,我在Google Firebase控制台中注册了该应用程序。然后下载google-services.json
并将其放入项目中。为此文件将构建设置为googleservicejson模式。在此之前,我添加了以下掘金软件包:
Xamarin.Android.Crashlytics
Xamarin.Android.Crashlytics.Answers
Xamarin.Android.Crashlytics.Beta
Xamarin.Android.Crashlytics.Core
在OnCreate方法中,我添加了以下代码:
Fabric.Fabric.With (this, new Crashlytics.Crashlytics ());
Crashlytics.Crashlytics.HandleManagedExceptions ();
此外,我还在AndroidManifest.xml中添加了此元数据
<meta-data android:name="io.fabric.ApiKey" android:value="firebase api key" />
然后我在strings.xml中添加了它
<string name="com.crashlytics.android.home.firebaseandroid">33</string>
其中home.firebaseandroid是我的apk名称
清理并重建后,当我启动应用程序时会抛出此异常:
Fabric.Services.Concurrency.UnmetDependencyException: '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.'
据我了解,该应用程序正在寻找Fabric的api密钥,但我只有firebase的api密钥。有人遇到过同样的问题吗?请向哪个方向提出建议。预先感谢。
如果您使用的是Google服务文件,则不应在AndroidManifest中指定API密钥。 Google服务文件已经包含Crashlytics SDK正在寻找的API密钥。