В нашем проекте мы успешно используем:
- Firebase (для FCM)
- Crashlytics (для сообщения о сбоях)
- Proguard (оптимизированная версия)
Все было хорошо до прошлой недели, когда мы обновились до gradle plugin 3.2.0
.
В этой версии, если у нас есть следующая конфигурация proguard для удаления звонков в Log:
-assumenosideeffects class android.util.Log { *; }
при запуске приложения мы получаем:
java.lang.VerifyError: верификатор отклонил класс com.google.firebase.FirebaseApp: void com.google.firebase.FirebaseApp. () не удалось проверить: void com.google.firebase.FirebaseApp. (): [0x37] регистр v0 имеет тип Неинициализированная ссылка: java.lang.Object Распределение ПК: 53, но ожидается Ссылка: java.lang.Object void com.google.firebase.FirebaseApp. (android.content.Context, java.lang.String, com.google.firebase.b) не удалось проверить: void com.google.firebase.FirebaseApp. (android.content.Context, java.lang.String, com.google.firebase.b): [0x3C] регистр v8 имеет тип UniСсылка: com.google.firebase.internal.a Распределительный ПК: 58, но ожидаемый Ссылка: com.google.firebase.FirebaseApp $ a.g.g.f.fbb.Amp.Контекст, com.google.firebase.b, java.lang.String) не удалось проверить: com.google.firebase.FirebaseApp com.google.firebase.FirebaseApp.a (android.content.Context, com.google.firebase.b, java.lang.String): [0x17] регистр v1 имеет тип Неинициализированная ссылка: com.google.firebase.FirebaseApp $ 1 Распределительный ПК: 21, но ожидается Ссылка: com.google.android.gms.common.api.internal.a $a (объявление 'com.google.firebase.FirebaseApp' появляется в /data/app/com.example.app-2/base.apk)`
Если мы удалим эту конфигурацию, чтобы удалитьзвонки на Log
все в порядке, как это было в предыдущей версии плагина gradle (3.1.4).
Кто-нибудь знает, что может быть причиной этого?