LifecycleObserverを導入後、Android Studioを 2.3.3から 3.0へ上げた辺りでリリース前レポートで報告されるようになった。
直接的な原因は Proguardによる難読化によって lifecycle周りのメソッドが消えたかリネームされた事のようで、「minifyEnabled false」とすれば回避可能。
ただ、同じバイナリで実機では問題無く動いているのが不思議。
proguard-rules.proに以下のルールを追加して「minifyEnabled true」でも大丈夫なように。
-keep public class android.arch.lifecycle.** {
public protected *;
}
-keepclassmembers class ** {
@android.arch.lifecycle.OnLifecycleEvent public *;
}
以前はこんなルールを書かなくても良かったはずなんだけどなぁ???