android - 错误:将字节码转换为dex时出错:原因:com.android.dex.DexException:多个dex文件定义Lokhttp3/internal/http/RealResponseBody;
问题描述
构建项目后出现错误,例如..
错误:将字节码转换为dex时出错:原因:com.android.dex.DexException:多个dex文件定义Lokhttp3/internal/http/RealResponseBody;错误:com.android.dex.DexException:多个 dex 文件定义 Lokhttp3/internal/http/RealResponseBody;错误:在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661) 错误:在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616) 错误:在 com.android.dx .merge.DexMerger.mergeClassDefs(DexMerger.java:598) 错误:在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 错误:在 com.android.dx.merge.DexMerger.merge(DexMerger .java:198) 错误:在 com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61) 错误:在 com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36) 错误:在爪哇。
com.android.build.api.transform.TransformException: com.android.dex.DexException: 多个dex文件定义Lokhttp3/internal/http/RealResponseBody;信息:BUILD FAILED in 2m 51s 信息:15 个错误 信息:0 个警告 信息:查看控制台中的完整输出
这是我的构建 gradle 文件。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.kamran.logingreentheme"
minSdkVersion 17
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
useLibrary 'org.apache.http.legacy'
multiDexEnabled true
configurations {
all {
// exclude module: 'httpclient'
resolutionStrategy {
force 'junit:junit:4.11'
force 'com.android.support:support-annotations:28.0.0'
}
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/menu'] } }
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.volley:volley:1.1.1'
//implementation 'org.apache.httpcomponents:httpcore:4.4.1'
// implementation 'org.apache.httpcomponents:httpmime:4.2.3'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
implementation 'com.android.support:multidex:1.0.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
}
我尝试过的事情
1.clean ,rebuild
2.invalidate catch restart
3.multiplexEnabled **true** also add dependencies:implementation 'com.android.support:multidex:1.0.3'
任何人都可以解决我的错误吗?谁能解释我为什么会收到这个错误?
解决方案
加入gradle.property
这一行:
org.gradle.jvmargs=-Xmx1024m
之后清理并重建项目。
推荐阅读
- lisp - 用通用 lisp 编程语言将文件中的单词读入嵌套列表
- ansible - 如何指定要在 Ansible 剧本中使用的 Python 版本?
- python - 对 pandas 中的 groupby 函数感到好奇,如何为通用数据集编写 groupby?
- reactjs - 为什么 React 组件代码不会自动缩进?
- ruby - 了解 Ruby sort_by
- spring - Hibernate @LazyToOne(LazyToOneOption.NO_PROXY) @OneToOne(fetch = FetchType.LAZY) 总是急切地获取
- git - git可以用来在服务器之间传输大型二进制文件吗
- angular - Angular Material datepicker:如何为无效和必需的输入获取两个不同的验证错误
- java - 如何使用 MouseEvent?
- javascript - 如何在卡片标题和卡片文本中输入值