Samsung および QMobile の特定のデバイスからのみ、Android モバイル アプリで NoClassDefFoundError がほとんど発生しません。
以下のコードを追加すると、エラーが検出されますか?
//Check for Class not found error for Samsung 4.2.2 devices case
try {
Class.forName("android.support.v7.internal.view.menu.MenuBuilder");
} catch (ClassNotFoundException e) {
// Handle Exception by displaying an alert to user to update device firmware.
}catch (NoClassDefFoundError e){
// Handle Exception by displaying an alert to user to update device firmware.
}
アプリがクラッシュすることなく NoClassDefFoundError をプロアクティブに検出する最良の方法は何ですか?
編集:
ドキュメントには、メソッドが以下の例外をスローすることが記載されており、については何も言及されていませんNoClassDefFoundError
。
Throws:
LinkageError - if the linkage fails
ExceptionInInitializerError - if the initialization provoked by this method fails
ClassNotFoundException - if the class cannot be located
質問を次のように言い換えることができます
Class.forName(String)
クラスに「 DefNoClassDefFoundError
」があるかどうかを確認するにはどうすればよいですか?