3

BoofCV を Android Studio に統合したところ、以下のエラーが発生しました。

com.android.dex.DexException: 複数の dex ファイルで Lorg/xmlpull/v1/XmlPullParser が定義されています。com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) で com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) で com.android.dx.merge.DexMerger.mergeClassDefs (DexMerger.java:517) com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) com.android.dx.merge.DexMerger.merge(DexMerger.java:188) com.android. dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) com.android.dx.command.dexer.Main. com.android.dx.command.dexer.Main.main(Main.java:245) で実行 (Main.java:277) com.android.dx.command.Main.main(Main.java:106) でエラー:タスク ':app:dexDebug' の実行に失敗しました。com.android.

私のbuild.gradleファイルは

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.example.huayu.boofcvandroidstart"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

    //multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'

compile group: 'org.boofcv', name: 'all', version: '0.20'
}
4

2 に答える 2

0

BoofCV私は自分のプロジェクトの1つで使用しました。を除く他のすべての BoofCV jar を追加する必要があります。これは、この jarが Android にXmlPullParser存在する既存のXmlPullParserと競合するためです。

すべての jar をダウンロードし、次のように関連するものだけを含めることで、BoofCV を追加しました。

dependencies {
            compile files('libs/BoofCV-android-0.19.jar')
            compile files('libs/BoofCV-calibration-0.19.jar')
            compile files('libs/BoofCV-feature-0.19.jar')
            compile files('libs/BoofCV-geo-0.19.jar')
            compile files('libs/BoofCV-io-0.19.jar')
            compile files('libs/BoofCV-ip-0.19.jar')
            compile files('libs/BoofCV-recognition-0.19.jar')
            compile files('libs/BoofCV-sfm-0.19.jar')
            compile files('libs/BoofCV-visualize-0.19.jar')
            compile files('libs/BoofCV-xuggler-0.19.jar')
            compile files('libs/core-0.26.jar')
            compile files('libs/ddogleg-0.7.jar')
            compile files('libs/georegression-0.8.jar')
            compile files('libs/xpp3_min-1.1.4c.jar')
            compile files('libs/xstream-1.4.7.jar')
}

これは jar を追加する単純な方法ですが、関連する jar を libs フォルダーに含めて、次の行を追加するだけです。

dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
}
于 2015-12-03T05:07:39.203 に答える