首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的BoofCV级构建错误

Android中的BoofCV级构建错误
EN

Stack Overflow用户
提问于 2015-12-03 05:05:14
回答 2查看 542关注 0票数 3

当我将BoofCV集成到Android中时,发生了以下错误:

com.android.dex.DexException:多个dex文件定义了Lorg/xmlpull/v1/XmlPullParser;在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) at com.android.dx。command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:277) at com.android.dx.command.dexer.Main.main(Main.java:245) at com.android.dx.command.Main.main(Main.java:106)错误:任务执行失败“:app:dexDebug”。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程‘命令’/usr/lib/jvm/jvm 1.8.0_60/bin/java‘’以非零退出值2完成

我的build.gradle文件是

代码语言:javascript
复制
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'
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-03 07:18:31

我是怎么处理这件事的。如您最初所做的那样,包括BoofCV jars。然后将以下内容添加到应用程序/build.gradle中

代码语言:javascript
复制
configurations {
    all*.exclude group: "xmlpull", module: "xmlpull"
}

这将删除令人不快的xmlpull。您还可能希望包括android模块,它不是“all”的一部分。

下面是一个关于BoofAndroidDemo的例子

https://github.com/lessthanoptimal/BoofAndroidDemo/blob/master/app/build.gradle

票数 4
EN

Stack Overflow用户

发布于 2015-12-03 05:07:39

我在我的一个项目中使用了BoofCV。您应该添加除BoofCV之外的所有其他XmlPullParser jar,因为这个jar与Android中已经存在的XmlPullParser冲突。

我通过下载所有的jars添加了BoofCV,并且只包括如下所示的相关jars:

代码语言:javascript
复制
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')
}

虽然这是一种简单的添加jars的方法,但您只需将相关的jars包含在libs文件夹中并添加以下一行:

代码语言:javascript
复制
dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34058255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档