Witam,
Jakiś czas temu dodałem do projektu obsługę Crashlytics, według tego oficjalnego opisu: https://firebase.google.com/docs/crashlytics/get-started
Wszystko ładnie działa. Nie potrzebuję w ogóle rejestrować konta Fabric, łączyć go z Firebase, ani instalować pluginu Fabric do Android Studio. Jakie więc było moje zdziwienie, gdy chcąc, żeby drugi flavor aplikacji, dodany do Firebase jako nowy projekt też używał Crashlytics - nie mogę już dodać Crashlytics w ten sposób, który opisano w powyższym artykule. Pomimo wykonania wszystkiego tak samo jak poprzednio, konsola Firebase wymusza na mnie założenie konta Fabric i dodanie mojej aplikacji do panelu Fabric. Dopiero potem mogę połączyć aplikację Fabric z aplikacją w Firebase i wtedy dopiero konsola Firebase pokazuje mi konsolę Crashlytics i crashe zaczynsją pojawiać się w Firebase - w innym przypadku przekierowuje mnie do logowania do Fabric. Przedtem nie było to wymagane.
Jeśli zrobię to, co każą w dokumentacji:
Note: If you're upgrading from Fabric Crashlytics, remove the Fabric API key from your AndroidManifest.xml. Delete the key's meta-data tag, which should have io.fabric.ApiKey and the API key.
to crashe w ogóle nie są nigdzie wysyłane. Aplikację muszę dodawać do Fabric za pomocą pluginu Fabric do Android Studio. Problem jest w tym, że plugin ignoruje build flavors mojej aplikacji - jeśli dodam do Fabric jeden wariant, to nie pozwala mi dodać kolejnego (ma on inny id, więc po zbudowaniu jest to oddzielna aplikacja), twierdząc że w moim projekcie Fabric już jest skonfigurowany.
Z poziomu webowego panelu Fabric nowej aplikacji Android dodać się nie da. Obszedłem to w ten sposób, że stworzyłem czysty projekt Androida o id takim samym, jak mój docelowy wariant we właściwym projekcje. Potem po przebudowaniu nowego wariantu aplikacji crashe idą do Fabric (i do Firebase, jeśli aplikacja Fabric jest połączona z projektem w Firebase).
Mógłbym nawet to zaakceptować (to, że od teraz aplikację muszę mieć dodaną także do panelu Fabric). Problem jest jednak z tym pierwszym wariantem, który kiedyś konfigurowałem "po staremu". Jeśli manifest zawiera klucze api wskazujące na konto Fabric (a manifest jest wspólny dla wszystkich wariantów aplikacji), to Fabric wysyła crashe do aplikacji dodanej do konsoli Fabric, a w konsoli Firebase nie pojawia się już nic. Aplikacji Fabric odpowiadającej pierwszemu wariantowi nie mogę już połączyć z projektem Firebase, bo pokazuje mi że ten projekt Firebase jest już połączony z innym kontem Fabric (którego nigdy nie miałem, tak jak napisałem na początku).
Ma ktoś pomysł, jak teraz ogarnąć ten bałagan?