获取错误'错误:Gradle:任务执行失败':app:transformClassesWithDexForDebug'。'

时间:2017-07-12 05:43:42

标签: android gradle

信息:Gradle:执行任务:[:app:assembleDebug,:app:assembleDebugUnitTest] 信息:12-07-2017 10:25 - 编译完成时有34个错误,0个警告在9s 703ms

错误:Gradle:处理“javax / xml / XMLConstants.class”时遇到问题:

错误:Gradle:错误使用或错误使用核心类(java。*或javax。*)

错误:Gradle:未构建核心库时。

错误:Gradle:这通常是由于无意中包含核心库文件

错误:Gradle:在应用程序的项目中,使用IDE时(例如

错误:Gradle:Eclipse)。如果你确定你不是故意定义

错误:Gradle:核心类,那么这是什么

的最可能的解释

错误:Gradle:继续。

错误:Gradle:但是,您实际上可能正在尝试在核心

中定义类

错误:Gradle:名称空间,您可能已采用的来源,例如

错误:Gradle:来自非Android虚拟机项目。这将是最

错误:Gradle:肯定不行。至少会危及

错误:Gradle:您的应用与该平台的未来版本的兼容性。

错误:Gradle:合法性通常也有问题。

错误:Gradle:如果你真的打算构建一个核心库 - 只有

错误:Gradle:适合作为创建完整虚拟机的一部分

错误:Gradle:分发,而不是编译应用程序 - 然后使用

错误:Gradle:“--core-library”选项可以禁止显示此错误消息。

错误:Gradle:如果您继续使用“--core-library”但实际上是

错误:Gradle:构建应用程序,然后预先警告您的应用程序

错误:Gradle:在某些时候仍然无法构建或运行。请

错误:Gradle:为愤怒的客户做好准备,例如找到你的

错误:Gradle:应用程序在升级其操作后停止运行

错误:Gradle:系统。你应该为这个问题负责。

错误:Gradle:如果您合法地使用恰好位于

中的某些代码

错误:Gradle:核心包,那么最简单的安全替代方法是

错误:Gradle:重新打包该代码。也就是说,将有问题的类移到

错误:Gradle:您自己的包命名空间。这意味着他们永远不会在

错误:Gradle:与核心系统类冲突。 JarJar是一个可以提供帮助的工具

错误:Gradle:你正在努力。如果您发现不能这样做,那么

错误:Gradle:这表示您所在的路径最终将

错误:Gradle:导致痛苦,痛苦,悲伤和悲伤。

错误:Gradle:1错误;中止

错误:Gradle:任务执行失败':app:transformClassesWithDexForDebug'。

  

com.android.build.api.transform.TransformException:

java.lang.RuntimeException:com.android.ide.common.process.ProcessException:

java.util.concurrent.ExecutionException:

com.android.ide.common.process.ProcessException:返回dex进程的代码1

的build.gradle:

apply plugin:'com.android.application'

android {     compileSdkVersion 26

buildToolsVersion "26.0.0"

defaultConfig {
    applicationId "com.example.rakeshkirola.appiumframework"
    minSdkVersion 24
    minSdkVersion 24
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

依赖项{

compile fileTree(include: ['*.jar'], dir: 'libs')

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',

{

    exclude group: 'com.android.support', module: 'support-annotations'

})

compile 'com.android.support:appcompat-v7:26.+'

compile 'com.android.support.constraint:constraint-layout:1.0.2'

compile 'com.android.support:design:26.+'

testCompile 'junit:junit:4.12'

// https://mvnrepository.com/artifact/io.appium/java-client

compile 'io.appium:java-client:4.1.2'

testCompile 'org.assertj:assertj-core:2.0.0'

testCompile 'org.testng:testng:6.9.10'

compile files('libs/httpclient-4.4.1.jar')

compile files('libs/commons-logging-1.2.jar')

compile files('libs/httpcore-4.4.4.jar')

}

Android Studio版本:2.3.3

3 个答案:

答案 0 :(得分:0)

添加这个解决了我的问题。试试吧。

android {
...
defaultConfig {
    ...
    multiDexEnabled true
    }
}

答案 1 :(得分:0)

启用multidex在build.greadle(app模块)中添加 multiDexEnabled true ,并在依赖项中插入 compile'c​​om.android.support:multidex:1.0.1'

android{
  ...
  defaultConfig {
        ...
        // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }

}
dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

答案 2 :(得分:0)

在defaultConfig块中,向其添加以下选项。

defaultConfig {
    applicationId "com.example.rakeshkirola.appiumframework"
    minSdkVersion 24
    minSdkVersion 24
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}