2012-05-03 7 views
1

AndroidアプリでjCIFSバージョン1.3.17 JARファイルを使用しようとしています。アプリケーションが正しくコンパイルされ、自分の電話機にデプロイされます。私のアプリケーションは、私は次のエラーメッセージが表示さJCIFSライブラリを使用しようとすると:AndroidでjCIFSを使用しているときのVerifyError

E/dalvikvm(3176): Could not find class 'jcifs.smb.SmbFile', referenced from method com.test.androidapp.service.BackgroundService.copyFiles 
W/dalvikvm(3176): VFY: unable to resolve new-instance 94 (Ljcifs/smb/SmbFile;) in Lcom/test/androidapp/service/BackgroundService; 
D/dalvikvm(3176): VFY: replacing opcode 0x22 at 0x0001 
W/dalvikvm(3176): VFY: unable to resolve exception class 93 (Ljcifs/smb/SmbException;) 
W/dalvikvm(3176): VFY: unable to find exception handler at addr 0x6c 
W/dalvikvm(3176): VFY: rejected Lcom/test/androidapp/service/BackgroundService;.copyFiles()Z 
W/dalvikvm(3176): VFY: rejecting opcode 0x0d at 0x006c 
W/dalvikvm(3176): VFY: rejected Lcom/test/androidapp/service/BackgroundService;.copyFiles()Z 
W/dalvikvm(3176): Verifier rejected class Lcom/test/androidapp/service/BackgroundService; 
W/dalvikvm(3176): Class init failed in newInstance call (Lcom/test/androidapp/service/BackgroundService;) 
D/AndroidRuntime(3176): Shutting down VM 
W/dalvikvm(3176): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0) 
E/AndroidRuntime(3176): FATAL EXCEPTION: main 
E/AndroidRuntime(3176): java.lang.VerifyError: com.test.androidapp.service.BackgroundService 
E/AndroidRuntime(3176): at java.lang.Class.newInstanceImpl(Native Method) 
E/AndroidRuntime(3176): at java.lang.Class.newInstance(Class.java:1409) 
E/AndroidRuntime(3176): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2174) 
E/AndroidRuntime(3176): at android.app.ActivityThread.access$2500(ActivityThread.java:132) 
E/AndroidRuntime(3176): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1102) 
E/AndroidRuntime(3176): at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime(3176): at android.os.Looper.loop(Looper.java:150) 
E/AndroidRuntime(3176): at android.app.ActivityThread.main(ActivityThread.java:4263) 
E/AndroidRuntime(3176): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(3176): at java.lang.reflect.Method.invoke(Method.java:507) 
E/AndroidRuntime(3176): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
E/AndroidRuntime(3176): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
E/AndroidRuntime(3176): at dalvik.system.NativeStart.main(Native Method) 
W/ActivityManager( 129): Force finishing activity com.test.androidapp/.activity.MainActivity 

をAndroidがJCIFSを見つけていない理由を誰かが説明できますか?

答えて

3

あなたは、Android SDKツールの最新バージョン(Eclipse用と、該当する場合、ADTプラグイン)であると仮定すると、サードパーティのJARを追加するための適切な手順は次のとおりです。

ステップ#1:プロジェクトでlibs/ディレクトリを作成

ステップ#2:あなたは、ビルド・パスか何かを台無しにする必要はありませんlibs/ディレクトリにJARを入れ

注 - 今Eclipseで自動的に処理されて、ちょうど最初からコマンドラインビルドのためのものでした。

このエラーは、あなたのJARがコンパイル時に利用できるように感じていますが、EclipseがJARについて知っている(たとえば、マニュアルビルドパスの調整を介して)AndroidツールがJARについて知らないなどAPKにパッケージされていないようです。

+0

ありがとうございました。 –

関連する問題