[ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.AssertionError: AssertionError (GSON 2.8.5): java.lang.NoSuchFieldException: DrawableResource
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:101)
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:88)
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:86)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.e(:7)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.a(:27)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.a(:175)…
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:101)
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:88)
06-13 23:55:46.181 30973 30973 E flutter : at d.d.d.q.a(:86)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.e(:7)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.a(:27)
06-13 23:55:46.181 30973 30973 E flutter : at com.dexterous.flutterlocalnotifications.d.a(:175)…
J’ai eu la malchance de tomber sur cette exception qui ne se produit QUE sur les applications sur le store (internal test/beta/qa/prod… peu importe).
La raison est simple, le package flutter_local_notifications nécessite d’outrepasser les optimisations ProGuard sur son namespace.
La solution est donc d’indiquer cette contrainte à ProGuard.
Pour cela il suffit d’ajoutez dans le fichier android/app/proguard-rules.pro la ligne suivante :
|
|
voilà tout simplement!
Faire attention au .gitignore: pour l’anecdote j’ai rencontré cette exception car le fichier ProGuard n’était pas sous contrôle de source à cause de la configuration du .gitignore, ce qui a empêché le serveur de build de réaliser des packages valides.