При вызове FirebaseFunctions.getInstance(FirebaseApp.getInstance())
выбрасывается NPE. FirebaseApp.initializeApp(this);
вызывается внутри расширенного класса приложения onCreate
перед вызовом любой другой функциональности Firebase.
Это трассировка стека:
Fatal Exception: java.lang.NullPointerException
at com.google.firebase.functions.internal.Preconditions.checkNotNull(Unknown Source:876)
at com.google.firebase.functions.FirebaseFunctions.<init>(Unknown Source:77)
at com.google.firebase.functions.FirebaseFunctions.getInstance(Unknown Source:141)
at com.google.firebase.functions.FirebaseFunctions.getInstance(Unknown Source:159)
Исключение выдается только при сборке приложения с конфигурацией выпуска, это означает, что код запутывается с DexGuard, но все классы firebase были исключены из запутывания, ниже моей конфигурации dexguard:
...
-keep class com.google.** { *; }
-keep class android.** { *; }
-keep class com.firebase.** { *; }
-keep class com.android.** { *; }
...
Я использую:
- com.google.firebase: firebase-functions: 12.0.1 (также все остальные библиотеки Firebase используют ту же версию)
- DexGuard версия 8.1.15
- classpath 'com.google.gms: google-services: 4.0.1'
При использовании конфигурации отладки все работает как шарм, есть идеи, как решить эту проблему?
Уже проверили подобный вопрос, но он устарел: Ошибка с вызываемыми функциями Firebase
РЕДАКТИРОВАТЬ - Новая конфигурация
Я попытался обновить зависимости DexGuard и Firebase с приведенными ниже:
- com.google.firebase: firebase-functions: 16.1.1 (все остальные зависимости от firebase и gms обновлены до последней, за исключением объявлений play-services-16.0.0)
- DexGuard версия 8.2.20
- classpath 'com.google.gms: google-services: 4.0.1'
Это новая трассировка стека:
Fatal Exception: java.lang.NullPointerException: null reference
at com.google.firebase.functions.a.a.a(Unknown Source:30)
at com.google.firebase.functions.FirebaseFunctions.(Unknown Source:77)
at com.google.firebase.functions.FirebaseFunctions.getInstance(Unknown Source:141)
at com.google.firebase.functions.FirebaseFunctions.getInstance(Unknown Source:154)