无法为参数[true]找到方法multiDexEnabled()

时间:2016-04-29 08:23:15

标签: android gradle build.gradle ros google-project-tango

我按照本教程https://github.com/ologic/Tango/wiki/Getting-Started-with-Tango-and-ROS导入项目。

当我尝试使用catkin_make制作项目时,我有这个错误:

    UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lorg/ros/android/MessageCallable;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)

我尝试了很多问题来修复它,没有结果。

项目的build.gradle:

task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}

buildscript {
    def rosMavenPath = "$System.env.ROS_MAVEN_PATH".split(':').collect     { 'file://' + it }
    def rosMavenRepository = "$System.env.ROS_MAVEN_REPOSITORY"
    repositories {
        rosMavenPath.each { p ->
            maven {
                url p
            }
        }
        mavenLocal()
        maven {
            url rosMavenRepository
        }
    }
    dependencies {
        classpath group: 'org.ros.rosjava_bootstrap', name:   'gradle_plugins', version: '[0.1,0.2)'
    }
}

apply plugin: 'catkin'

allprojects {
    group 'com.github.rosjava.android_extras'
    version = project.catkin.pkg.version
}

subprojects {
    apply plugin: 'ros-android'
}

和子项目的build.gradle造成了问题:

dependencies {
  compile 'org.ros.android_core:android_gingerbread_mr1:[0.1,)'
  compile 'org.ros.android_core:android_acm_serial:[0.1,)'
  compile 'com.github.rosjava.rosjava_extras:hokuyo:[0.1,)'
}

apply plugin: 'android'

android {
  packagingOptions {
    /* https://github.com/rosjava/android_core/issues/194 */
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
  }
  compileSdkVersion 13

}

拜托,有人可以帮帮我吗? (抱歉我的英语不好)

1 个答案:

答案 0 :(得分:-1)

将其添加到android部分的应用程序gradle文件中。

android{
    defaultConfig {
            //other detail like version name ,application id etc;
            multiDexEnabled true
        }
}