标签:google-fabric android firebase crashlytics
我正在使用此代码来跟踪应用程序崩溃的时间:
val core = CrashlyticsCore
.Builder()
.listener {
Log.d("***", "Crash happened")
}
.build()
val crashlyticsKit = Crashlytics
.Builder()
.core(core)
.build()
// Initialize Fabric with the debug-location_inactive crashlytics.
Fabric.with(context, crashlyticsKit)
我正在使用抛出NullPointerException()和Crashlytics.getInstance().crash()来测试它.他们都没有打电话给听众.当应用程序再次启动时,它位于日志中:
I/CrashlyticsCore: Initializing Crashlytics 2.6.1.23
I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
I/CrashlyticsCore: Crashlytics report upload complete: SOME-LETTERS-AND-NUMBERS
我究竟做错了什么?
编辑
我使用How to show a Dialog after crash by using Crashlytics?中的代码作为我的模板,但似乎API略有变化(在这个答案中,它实例化为一个类,但现在它是一个监听器,见docs)
解决方法:
默认情况下,Firebase Crashlytics使用内容提供程序hack自动初始化自身(com.crashlytics.android.CrashlyticsInitProvider注入到合并的AndroidManifest中).
根据documentation自动初始化可以用元数据标记重写:
<manifest>
<application>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
</application>
</manifest>
现在调用Fabric.with(context,crashlyticsKit)实际上会初始化sdk并且应该正确触发侦听器.
标签:google-fabric,android,firebase,crashlytics 来源: https://codeday.me/bug/20190827/1745055.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。