当我添加 compile'org.apache.httpcomponents:httpmime:4.2.3'之后出现此错误。找不到解决方案我也在默认配置部分尝试了多个dex文件。我还尝试创建另一个用于测试的应用程序,该应用程序已成功运行。
错误:任务':app:transformClassesWithDexForDebug'的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_79 \ bin \ java.exe''以非零退出值2结束
这是我的 build.gradle 文件。
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.qualwebs.assistme"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
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 'com.android.support:design:23.1.1'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
compile 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'org.apache.httpcomponents:httpmime:4.2.3'
}
答案 0 :(得分:8)
Android SDK Build Tools中提供的Gradle Android插件 21.1和更高版本支持multidex作为构建配置的一部分。确保您更新Android SDK Build Tools工具和Android 使用SDK Manager支持存储库到最新版本 尝试为multidex配置您的应用。
设置应用开发项目以使用multidex配置需要您对应用开发项目进行一些修改。特别是您需要执行以下步骤:
修改您的应用Gradle构建文件配置以包含支持库并启用multidex输出。
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
...
minSdkVersion 19
targetSdkVersion 23
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
在您的清单中,将 multidex 支持库中的 MultiDexApplication
类添加到应用程序元素中。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
您可以使用
compile 'org.apache.httpcomponents:httpmime:4.5.1'
阅读
https://developer.android.com/intl/es/tools/building/multidex.html
答案 1 :(得分:2)
您有multidex文件的问题,请将以下依赖项添加到您的应用Gradle文件中。
compile 'com.android.support:multidex:1.0.1'
同时添加以下行:
defaultConfig {
applicationId 'pkg'
minSdkVersion
targetSdkVersion
versionCode
versionName
// Enable MultiDexing: https://developer.android.com/tools/building/multidex.html
multiDexEnabled true
}
另外在Manifest.xml中添加:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
编辑:
尝试以下方法:
更改设置
Ctrl + Alt + S - &gt;编译器 - &gt;摇篮
InVM选项字段写:
-Xmx2048m -XX:MaxPermSize = 512m
添加gradle
dexOptions {javaMaxHeapSize“2g”}
谢谢.. !!
答案 2 :(得分:0)
这个问题很可能是因为超过了Android强加的65K方法dex限制。这个问题可以通过清理项目,从build.gradle中的依赖项中删除一些未使用的库和方法来解决,或者通过添加multidex支持来解决。
所以,如果你必须保留库和方法,那么你可以通过在gradle配置中声明它来启用多dex支持。
defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}