[Android] VerifyError

たまに起こる『java.long.VerifyError』について

これが起こるのは大きく分けて2つ
1.AndroidSDKのバージョンの問題
2.外部ライブラリの問題

1つ目のAndroidSDKも問題は以下のような場合
・Manifestファイルでtargetを10(android 2.3.3)、minSdkVersionを4(android1.6)で開発する
・android2.3.3以降で使用できる機能を実装
・android2.3.3で実行⇒正常起動
・android1.6で実行 ⇒異常終了(VerifyError発生)

このようにAndroidSDKのバージョンの違いで使用できないものを使おうとするとVerifyErrorが発生する

次に外部ライブラリの場合
・推奨環境がAndroid4.0以上の外部ライブラリを導入
・targetを10(android 2.3.3)に設定
・Android2.3.3で実行⇒異常終了(VerifyError発生)

Android4.0以上が保持する機能を使用するライブラリなのでもちろん落ちます

しかし、これ以外にも落ちる場合が。。。(こっちが見つけるの面倒

推奨環境もtargetも実行端末も問題がない場合でも落ちるときがあります

この場合はビルド・パスに問題がある可能性が高いです

プロジェクトのプロパティ

Javaのビルド・パス

ライブラリ(外部ライブラリが追加されていることを確認)

順序およびエクスポート ※ここが重要

最後の重要ポイントにて使用するライブラリにチェックが入っているかを確認してください

もしチェックが外れていればチェックを付けて更新してください

更新したらプロジェクトをクリーン・リビルドをかけて再実行

これで私は回避できました

This entry was posted in Android, Java, プログラミング関連, 備忘録 and tagged , . Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です