Ank*_*434 51 android dex build.gradle android-gradle-plugin
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult;
Run Code Online (Sandbox Code Playgroud)
小智 54
我对Android Studio 3.0 beta 4也有同样的问题.我找到了一个解决方案.
1.从Build菜单中,按Clean Project按钮.
2.任务完成后,按菜单中的Rebuild Project按钮Build.
Pro*_*igy 28
对于Android Studio 3.0,我所做的就是将其添加到我的gradle中:
multiDexEnabled true
Run Code Online (Sandbox Code Playgroud)
它奏效了!
例
android {
compileSdkVersion 25
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.xx.xxx"
minSdkVersion 15
targetSdkVersion 24
versionCode 9
versionName "1.0"
multiDexEnabled true //Add this
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
Run Code Online (Sandbox Code Playgroud)
ADe*_*Dev 19
所以我通过执行以下操作解决了这个问题:
./gradle项目中的文件夹怎么样 ?
cd ~/[your project root folder] && find . -name build -exec rm -rf {} \; && rm -rf $HOME/.gradle/caches/
Run Code Online (Sandbox Code Playgroud)
假设您的gradle配置文件位于该$HOME/.gradle文件夹中.
File > Invalidate caches / Restart...并使缓存无效并重新启动它.您应该能够通过使用gradle检查依赖项并查找重复项来查明此错误的原因:
./gradlew -q app:dependencies
在我的情况下,在构建时发生以下错误:
Duplicate zip entry [httpcore-4.4.1.jar
Run Code Online (Sandbox Code Playgroud)
这是通过我的build.gradle:
implementation ('me.dlkanth:stetho-volley:1.0') {
exclude group: 'org.apache.httpcomponents'
}
Run Code Online (Sandbox Code Playgroud)
如果你的minSdkVersion是21或更高
android {
defaultConfig {
multiDexEnabled true
}
}
Run Code Online (Sandbox Code Playgroud)
如果你的minSdkVersion是20或更低
1)您必须在依赖项中添加以下库
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
Run Code Online (Sandbox Code Playgroud)
2)创建一个java类,然后从Application扩展它并覆盖attachBaseContext方法.
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Run Code Online (Sandbox Code Playgroud)
3)在应用程序标记中提及清单中创建的类.
<application
android:name=".MyApplication"
.
.
.
</application>
Run Code Online (Sandbox Code Playgroud)
检查您的依赖项以获取最新版本,通常它与您的任何依赖项的版本不一致.
1.Build> Clean Project 2.重建你的项目
检查详细日志以查找导致合并问题的依赖项并更新相同内容.对每个依赖项重复相同的操作.
| 归档时间: |
|
| 查看次数: |
47509 次 |
| 最近记录: |