<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Android on afanasev.net</title><link>https://afanasev.net/categories/android/</link><description>Recent content in Android on afanasev.net</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 23 Apr 2020 23:18:12 +0700</lastBuildDate><atom:link href="https://afanasev.net/categories/android/feed.xml" rel="self" type="application/rss+xml"/><item><title>Implement your own in-house Crashlytics for Android</title><link>https://afanasev.net/android/crashlytics/2020/04/23/in-house-crashlytics.html</link><pubDate>Thu, 23 Apr 2020 23:18:12 +0700</pubDate><guid>https://afanasev.net/android/crashlytics/2020/04/23/in-house-crashlytics.html</guid><description>&lt;h2 id="why"&gt;Why&lt;/h2&gt;
&lt;p&gt;For years, Crashlytics by Fabric was the gold standard for mobile crash reporting. It was fast, reliable, deeply integrated with Android tooling, and free. Teams adopted it without hesitation, and it became load-bearing infrastructure for mobile development at companies of every size.&lt;/p&gt;
&lt;p&gt;Then Google acquired Fabric.&lt;/p&gt;
&lt;p&gt;The migration from Fabric Crashlytics to Firebase Crashlytics was manageable for many teams, but it immediately raised a set of questions we could not get clear answers to. Firebase tools, as a rule, depend on Google Play Services — a hard requirement that excludes Huawei devices running HMS (Huawei Mobile Services) and the Chinese Android ecosystem more broadly, where GMS is not available. China represented a significant portion of our user base, and the prospect of running two parallel crash reporting systems — one for GMS markets, one for HMS — was operationally unappealing.&lt;/p&gt;</description></item></channel></rss>