2016-07-29 9 views
0

私は、標準偏差を計算するのではなく自分自身のメソッドを記述するためのApache Commonsの数学ライブラリを使用するようにしたいのですが、私はこのエラーを取り除くことができていない:のAndroid Studioのコモンズ数学「のNoClassDefFoundError」

FATAL EXCEPTION: main 
Process: io.github.hactarce.qtimer, PID: 25294 
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/commons/discovery/tools/DiscoverClass; 
    at org.apache.commons.math.stat.DescriptiveStatistics.newInstance(DescriptiveStatistics.java:91) 
    at ... 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.commons.discovery.tools.DiscoverClass" on path: DexPathList[[dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-support-annotations-24.0.0_9d3ba58e638ed02faa84bf39a48fe2d24bde6b2a-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-me.zhanghai.android.materialprogressbar-library-1.1.6_3f4dfaff6ac84c0f0b41e456c4c7ea77b367a4b0-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-internal_impl-24.0.0_92a109cb571bd624e4bea6328895341c772d7c6c-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-commons-math-20040218.045431_cdd6a0543f856d0d318fbe7a891815a73a580ce9-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-com.android.support-support-vector-drawable-24.0.0_2a3a8f3ca104420ae4ace8cc58b02d413c7612ea-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-com.android.support-support-v4-24.0.0_bffc8401f241a00ed2f701ca43e6dffa2f80398d-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-com.android.support-recyclerview-v7-24.0.0_2c37df8ad6003e99ec2537a49be829f52468f887-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-com.android.support-appcompat-v7-24.0.0_73746d492da138f16fa685b4e64eeb56d351948f-classes.dex", dex file "/data/data/io.github.hactarce.qtimer/files/instant-run/dex/slice-com.android.support-animated-v 

私のGradleファイル:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 'Google Apis:Google Apis:23' 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "io.github.hactarce.qtimer" 
     minSdkVersion 18 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.afollestad.material-dialogs:core:0.8.6.0' 
    compile 'com.afollestad.material-dialogs:commons:0.8.6.0' 
    compile 'commons-math:commons-math:20040218.045431' 
} 

私は、同様のエラーについて多くの他の回答を見てきましたが、それらのどれも助けるように見えるん。前もって感謝します。 :)

+0

うわー、それは**古い**バージョンです。 2004!まあ、 'commons-discovery'が必要なように見えるので、その依存関係も追加する必要があります。コモンズ発見:あなたが持っているものにフィットするために、あなたはおそらく 'コモンズ検出を必要とする20040218.194635'。同じ*(非常に古い)*日付を持つことを考えれば、それらはおそらく一緒にフィットします。 ---示唆:より最新のものにアップグレードしてください。つまり、Androidは当時存在していませんでした。 – Andreas

+0

む〜は...多分私は彼らに自分自身を再実装_will_。 : – Hactar

+0

はなぜ自分自身を再実装ですか?ただ例えば、[新しいバージョン](http://commons.apache.org/proper/commons-math/index.html)を使用し'org.apache.commons:commons-math3:jar:3.6.1'を参照してください。バージョン3.6.1が2016-03-21でリリースされました。 – Andreas

答えて

0

あなたは間違いなくあなたのビルドファイルで参照jarファイルを使用すべきではありません。正式にリリースされたバージョンではありません。これは未公開のスナップショットビルドで、Commons Mathのバージョン1.0より前です。コメントに示唆されているように、リリースされたバージョン、好ましくは3.6.1にアップグレードする必要があります。

関連する問題