【问题标题】:Could not find method multiDexEnabled() for arguments [true]找不到参数的方法 multiDexEnabled() [true]
【发布时间】:2016-04-29 16:32:28
【问题描述】:

我按照本教程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

}

拜托,有人可以帮助我吗? (对不起我的英语不好)

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我已经尝试过这个问题,但没有结果。没有这个,我有一个 UNEXPECTED TOP-LEVEL EXCEPTION: 我有:找不到方法 multiDexEnabled() for arguments [true]
猜你喜欢
  • 2015-01-10
  • 2013-12-05
  • 2015-03-11
  • 1970-01-01
  • 2016-08-19
  • 2017-01-23
  • 2017-03-22
  • 2018-05-24
相关资源
最近更新 更多