2016-08-24 3 views
1

メソッドreadFileToByteArray(File file)は、アンドロイドプロジェクトのインポートされたjarファイルに存在します。java.lang.NoSuchMethodError:org.apache.commons.io.FileUtils.readFileToByteArray

enter image description here

しかし、プロジェクトをテストしようとすると、まだ実行時にこのエラーを取得:

java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.readFileToByteArray 
    at com.googlecode.dex2jar.reader.DexFileReader.<init>(DexFileReader.java:240) 
    at com.example.dex2jar.MainActivity.dextojar(MainActivity.java:67) 
    at com.example.dex2jar.MainActivity.onCreate(MainActivity.java:88) 
    at android.app.Activity.performCreate(Activity.java:5231) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
    at android.app.ActivityThread.access$800(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
    at dalvik.system.NativeStart.main(Native Method) 
+1

どのようにプロジェクトをテストしていますか? Android Studioは、テストしているライブラリとは異なるバージョンのライブラリを解決する可能性が最も高いです。 – Adam

+0

私はテストのためにエミュレータでこのプロジェクトを実行しています。 – Ammad

+0

私はこれを使ってDEXファイルを読み書きします。 – Ammad

答えて

3

おそらく、明示的に使用したいcommons-ioのバージョンを宣言する必要があります。このようなもの:compile group: 'commons-io', name: 'commons-io', version: '2.5'

ほとんどの場合、他の依存関係は、実行時にcommons-ioの間違ったバージョンを取得している可能性があります。そのため、実際にアプリケーションを実行したときにのみエラーが表示されます。