无法将请求的类放入单个dex文件中(#方法:114237> 65536)

时间:2019-10-20 14:36:20

标签: android api android-studio build.gradle

我正在尝试将android 3.5版本的this驱动程序导入到我的简单应用程序中(目前仅默认文本视图)。安装了驱动程序库并想运行模拟器,我遇到了若干Gradle问题,并能够对其进行修复,最后在这里结束。当我输入时,

  

classpath'com.android.support:multidex:1.0.3'

在Gradle中。

尽管构建成功,但是当我运行应用程序时,我收到了如下所述的构建错误。

  

com.android.tools.r8.CompilationFailedException:编译无法完成
  com.android.tools.r8.utils.AbortException:错误:null,无法在单个dex文件中容纳请求的类(#方法:114237> 65536)

此外,我不确定放在哪里(如this

multiDexEnabled true

和(如this),

    packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/INDEX.LIST'
}

因为我的build.gradle如下,

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url "http://dl.bintray.com/shimmerengineering/Shimmer"
        }

    }
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.1'
    apply plugin: 'eclipse'
    classpath 'com.android.support:multidex:1.0.3'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "http://dl.bintray.com/shimmerengineering/Shimmer"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

关于如何解决此问题的任何建议?

〜谢谢〜


修复如下:

创建了一个新的测试应用程序,并找到了build.gradle文件并包含了

allprojects { repositories { jcenter() maven { url "dl.bintray.com/shimmerengineering/Shimmer" } } }

然后将到达的问题固定为thisthis中的问题。然后,在运行模拟器时,没有构建或任何其他问题。

1 个答案:

答案 0 :(得分:0)

尝试在应用程序级别gradle中将最大髋关节大小提高到4 GB

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "4g"//this line
    }