LoginSignup
2
0

More than 1 year has passed since last update.

【Android】「java.lang.AssertionError java.lang.NoSuchFieldException」が出たときの対処法

Last updated at Posted at 2021-10-11

Androidで「java.lang.AssertionError java.lang.NoSuchFieldException」が出たときの対処法をご紹介します。

環境

Android Studio 4.1.3
kotlin 1.4.32
java 1.8.0_241

現象

Androidアプリの評価のため社内リリース版を公開して使用していると、ある箇所でアプリが強制終了しました。
そこでデバッグを有効にしてログを確認してみると以下のエラーが出力されていました。

java.lang.AssertionError java.lang.NoSuchFieldException: Open

「Open」は自分で定義したenumクラスの定数の一つです。
デバッグ版ではこのようなエラーが出ていなかっため、気づかずに社内リリースしていたようです。

解決法

こちらの質問の回答通りにproguard-rules.proに以下のコードを追加すると問題なく動作するようになりました。

-keepclassmembers enum * { *; }

参考

https://developer.android.com/studio/build/shrink-code?hl=ja
https://qiita.com/boohbah/items/7372b29637d28e6d671c
https://stackoverflow.com/questions/57790047/getting-java-lang-assertionerror-java-lang-nosuchfieldexception-http-1-0

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0