AndroidStudio、(Share)ActionProvider + Proguard で落ち始める。

デバッグ時端末検証ではそんなことはなかったのですが、リリース版のみで報告がデバッグコンソール上に続々と上がってくるという事態に。

java.lang.NullPointerException
...
at android.app.Activity.onCreatePanelMenu(Activity.java:2490)
at android.support.v4.app.p.onCreatePanelMenu(Unknown Source)
at android.support.v7.a.f.a(Unknown Source)
at android.support.v7.a.l.a(Unknown Source)
at android.support.v7.a.f.onCreatePanelMenu(Unknown Source)
at android.support.v7.a.m.onCreatePanelMenu(Unknown Source)
...

どうやら、難読化処理を行う「Proguard」まわりで不具合があるような。

ProGuard___Android_Developers

ProGuard | Android Developers

以下の記述をして、処理を明示的にスキップしておきましょう。

Issue 64167 - android - Proguard skips actionProviderClass XML when obfuscating ActionProviders - Android Open Source Project - Issue Tracker - Google Project Hosting

-keep public class * extends android.support.v4.view.ActionProvider
-keepclassmembers public class * extends android.support.v4.view.ActionProvider { *; }

proguard-rules_txt_0_4_0

互換なライブラリがあれこれでてきて逆に一層ややこしくなっているようにも思えるけども、気のせいか。


関連ワード:  AndroidAndroidStudioGoogleライブラリ速報開発