В настоящее время у меня есть приложение для Android (реагирует на родную), которое использует push-сервис Mixpanel (поверх службы сообщений Firebase)
Я указал значок, который установлен в моем файле манифеста, и ссылается на наборфайлы изображений, созданные в Android Studio (хранятся в Drawable)
Когда я запускаю приложение с вариантом отладки (proguard не включен) и отправляю push-уведомление удаленно, чтобы вызвать уведомление, в строке состояния появляется правильный значок, затем, когда вы опускаете панель уведомлений, рядом с заголовком появляется правильный значок
. Когда я создаю приложение с вариантом выпуска (proguard включен), при отправке push-уведомления появляется уведомление, но значокв верхнем трее возвращается иконка моего лаунчера.Когда я опускаю лоток, виден только красный кружок без значка.
Оба теста были выполнены на устройстве Android с уровнем API 28 (O)
Манифест Android:
<application
...
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
/>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/my_notification" />
<meta-data android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/my_red" />
В моем файле build.gradle включена поддержка proguard для выпуска:
release {
minifyEnabled enableProguardInProductionBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
Я добавил следующее в свой файл proguard, чтобы гарантировать, что построитель уведомлений и классы смешанных панелей могут правильно запускать уведомления,Как описано выше, появляется уведомление:
-keep class com.mixpanel.android.mpmetrics.** { *; }
-keep class com.google.android.gms.** { *; }
-keep class android.support.v4.app.** { *; }
Я проанализировал выпуск APK, сгенерированный с помощью Android studio, и могу подтвердить, что доступный для использования актив присутствует в доступном для рисования (при просмотре resources.arsc)
Довольно озадачен этим, любая помощь будет оценена