2012-05-03 5 views
4

私はAndroidDoneでデータベースにアクセスするためにgreenDaoを使用しています。すべてがうまく見え、遵守しました。しかし、私がプログラムを実行すると、DaoMaster.java - > OpenHelperクラスで、createAllTables(db、false)のonCreateメソッドがクラッシュしました。NoClassDefFoundError greenDaoを使用している場合

以下は例外メッセージです:

>05-03 15:40:34.109: E/AndroidRuntime(28587): FATAL EXCEPTION: main 
05-03 15:40:34.109: E/AndroidRuntime(28587): java.lang.NoClassDefFoundError: com.hook38.sporttimer.model.sql.DaoMaster 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.model.sql.DaoMaster$OpenHelper.onCreate(DaoMaster.java:42) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:165) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.controller.CountdownTimerStoreController.<init>(CountdownTimerStoreController.java:32) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.controller.CountdownTimerController.<init>(CountdownTimerController.java:57) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.hook38.sporttimer.CountDownTimerActivity.onCreate(CountDownTimerActivity.java:49) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.Activity.performCreate(Activity.java:4465) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.access$600(ActivityThread.java:123) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.os.Looper.loop(Looper.java:137) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at android.app.ActivityThread.main(ActivityThread.java:4424) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at java.lang.reflect.Method.invokeNative(Native Method) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at java.lang.reflect.Method.invoke(Method.java:511) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-03 15:40:34.109: E/AndroidRuntime(28587): at dalvik.system.NativeStart.main(Native Method) 

私はNoClassDefFoundErrorが上のいくつかの研究を行なったし、それがCLASSPATHが正しく設定されていなかったことを意味します。ビルドパスを確認したところ、greenDao.jarはライブラリにあります。私が逃したものはありますか?

+0

この回答を参照してくださいhttp://stackoverflow.com/a/10046725/1289716 – MAC

+0

stackoverflow.com/questions/9857539/noclassdeffounderror-when-googleanalyticstracker-getinstance/98576 69#9857669 – Akram

答えて

7

私はこの問題を解決しました。私はDaoExampleプロジェクトからgreenDao.jarファイルを使用していました。これを解決する方法は、私のJavaビルドパスから元のgreenDao.jarを削除することです。私のプロジェクトの下でフォルダを呼び出すlibsを作る。 DaoExampleプロジェクトのlibsフォルダからgeenDao.jarファイルをコピーし、自分のプロジェクトのlibsファイルに貼り付けます。 Javaのビルドパス、ライブラリ、jarのインポート、および新しく貼り付けたjarファイルの追加に移動します。 WALA〜

+0

そう簡単です。解決を投稿していただきありがとうございます。 –

0

ソリューションは超簡単です - Mavenの依存関係を確認し、エクスポートされています

  1. Project Properties - >Java Build Path - >Order and Export - >ダニMaven Dependencies Project Properties
  2. クリーンプロジェクト
関連する問題