title: Flutter local notification causing crash, only in the APK version
body: <p>I had this app working before the 1.9 update, then a failure to build had to be worked around by switching the gradle version from 3.2.1 to 3.3.1</p>
  
  <p>Ever since, any non-configuration calls to the local notification pluggin are met with this stacktrace:</p>
  
  <pre><code>E/flutter (22738): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.AssertionError: java.lang.NoSuchFieldException: Drawable
  E/flutter (22738):      at c.a.a.b.a.ja$a.&lt;init&gt;(:12)
  E/flutter (22738):      at c.a.a.b.a.V.a(:5)
  E/flutter (22738):      at c.a.a.p.a(:18)
  E/flutter (22738):      at c.a.a.b.a.p.a(:21)
  E/flutter (22738):      at c.a.a.b.a.p.a(:37)
  E/flutter (22738):      at c.a.a.b.a.p.a(:17)
  E/flutter (22738):      at c.a.a.p.a(:18)
  E/flutter (22738):      at c.a.a.b.a.c.a(:5)
  E/flutter (22738):      at c.a.a.p.a(:18)
  E/flutter (22738):      at c.a.a.p.a(:96)
  E/flutter (22738):      at c.a.a.p.a(:86)
  E/flutter (22738):      at c.a.a.p.a(:84)
  E/flutter (22738):      at com.dexterous.flutterlocalnotifications.d.e(:7)
  E/flutter (22738):      at com.dexterous.flutterlocalnotifications.d.a(:49)
  E/flutter (22738):      at com.dexterous.flutterlocalnotifications.d.a(:157)
  E/flutter (22738):      at com.dexterous.flutterlocalnotifications.d.b(:40)
  E/flutter (22738):      at com.dexterous.flutterlocalnotifications.d.a(:132)
  E/flutter (22738):      at d.a.b.a.m$a.a(:2)
  E/flutter (22738):      at io.flutter.embedding.engine.a.c.a(:14)
  E/flutter (22738):      at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(:2)
  E/flutter (22738):      at android.os.MessageQueue.nativePollOnce(Native Method)
  E/flutter (22738):      at android.os.MessageQueue.next(MessageQueue.java:326)
  E/flutter (22738):      at android.os.Looper.loop(Looper.java:160)
  E/flutter (22738):      at android.app.ActivityThread.main(ActivityThread.java:6762)
  E/flutter (22738):      at java.lang.reflect.Method.invoke(Native Method)
  E/flutter (22738):      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
  E/flutter (22738):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
  E/flutter (22738): Caused by: java.lang.NoSuchFieldException: Drawable
  E/flutter (22738):      at java.lang.Class.getField(Class.java:1601)
  E/flutter (22738):      at c.a.a.b.a.ja$a.&lt;init&gt;(:6)
  E/flutter (22738):      ... 26 more
  E/flutter (22738): 
  F/flutter (22738): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env). 
  </code></pre>
  
  <p>I made no changes to the code from the version that was working.
  The code used to configure the plugin is ran on init as follows</p>
  
  <pre class="lang-dart prettyprint-override"><code>  void inicializarPluginNotificacoes() {
      flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin();
      var initializationSettingsAndroid = new AndroidInitializationSettings('@drawable/app_icon24');
      var initializationSettings = new InitializationSettings(initializationSettingsAndroid, null);
      flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: onSelectNotification);
    }
  </code></pre>
  
  <p>and the call to the plugin is made like this:</p>
  
  <pre class="lang-dart prettyprint-override"><code>  Future marcarNotificacao(int id, int hora, int minuto, String texto, String titulo) async {
      var scheduledNotificationDateTime = new DateTime.now().add(new Duration(hours: hora, minutes: minuto));
      var androidPlatformChannelSpecifics = new AndroidNotificationDetails('ponto_unb', 'Ponto', 'Notificações para o ponto eletrônico');
      NotificationDetails platformChannelSpecifics = new NotificationDetails(androidPlatformChannelSpecifics, null);
      await flutterLocalNotificationsPlugin.cancel(id); // crashes
      await flutterLocalNotificationsPlugin.schedule(id, titulo, texto, scheduledNotificationDateTime, platformChannelSpecifics); // also crashes if the other one is not called first
    }
  </code></pre>
  
  <p>Now, the intresting thing is, the crash only takes place after installing the apk. On a development build with flutter run or a debug run the crash doesn't happen.</p>
  
  <p>Things i've tried:
  - Checking the icon since the message mentions drawable. The configuration doesn't even run if the icon is not found.</p>
  
  <ul>
  <li><p>Catching the exception with a try/catch around the call: the exception goes right through</p></li>
  <li><p>Checking notification permissions, its all fine, as i mentioned, the code was working prior to the update</p></li>
  <li><p>The calls are made with corect times ( hours and minutes ), and even if they weren't the cancel call still would crash the app</p></li>
  <li><p>Check if the cancel call to an id without scheduled notifications would crash, it didn't on the version that worked prior to the update</p></li>
  <li><p>adding importance, priority and changing the channel name and id, didn't work, was getting desperate at this point</p></li>
  </ul>
  
  <p>I feel like there is some resource i'm missing, is there a way to obtain a more comprehensive look into the crash?</p>