時間を使用するアプリを作成しています。私はJoda時間を使用することにしました。私はアプリにjoda時間を追加しようとしています。 _.jar
_ファイルをライブラリに追加した経験がありません。私は これらの手順 (下を参照)にしたがったので、そう思いました。私のプロジェクトはエラーを表示していませんが、簡単なテストを実行すると:DateTime test = new DateTime();
強制終了し、次のエラーが発生します。
_ Could not find class 'org.joda.time.DateTime', referenced from method xxxx
Java.lang.NoClassDefFoundError: org.joda.time.DateTime
_
これらは私が従ったステップです:
New -> Folder -> libs
_と呼びます。 注:libs
という名前のフォルダーが既にあるため、これを行いませんでしたjoda-time-2.1.jar
_を新しく作成したlibs
フォルダーにコピー(または)ドラッグアンドドロップします。Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar
_を右クリックします。これで、このコードでテストできます:
_DateTime test = new DateTime();
_
インポート後:
_import org.joda.time.DateTime;
_
これはAndroidプロジェクトなので、Joda jarファイルを参照するだけでは実行できません。このjarファイルをapkと一緒にバンドルする必要があります。
プロパティ-> Java Build Path-> Order&Export
joda-time-*-*.jar
をクリックし、Okをクリックします。できました。
説明: jarのみを参照すると、Eclipse(または他のIDE)でのコンパイルの問題のみが解決されますが、apkの場合「joda-time」jarファイルは「apk」とともにエクスポート/バンドルされません。それがNoClassDefFoundErrorをスローする理由です。
ただし、Order&Exportでjoda-time jarをチェックすると、jarが「apk」の内部/一緒にバンドルされていることも確認されます「作成されるたびに。