无法合并 Dex - Android Studio 3


我在Android 5.1设备中运行该应用程序,一段时间后它运行

良好,我已经卸载了android工作室,现在我已经安装了Android Studio 3.0.1并在Elementary OS Loki上工作并尝试在Android 8.0设备上运行它,当我启动新应用程序并运行它时,一切顺利,但现有项目未运行,它在运行时出错

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: 
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

我有build.gradle文件如下

apply plugin: 'com.android.application'
android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "za.co.neilson.alarm"
        multiDexEnabled true
        minSdkVersion 16
        targetSdkVersion 26
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}
dependencies {
    compile 'com.android.support:appcompat-v7:26.0.0'
    implementation files('lib/android-support-v7-appcompat.jar')
}

我已经用谷歌搜索并尝试了其他解决方案,例如

multiDexEnabled true

重建/清洁项目,但它不起作用

由于您使用的是compile 'com.android.support:appcompat-v7:26.0.0'因此没有理由添加jar文件(还要注意,因为aar包含jar文件,但也包含资源(。

删除此行:

implementation files('lib/android-support-v7-appcompat.jar')

并删除lib/android-support-v7-appcompat.jar文件

我已经用谷歌搜索并尝试了其他解决方案,例如 多晶启用真

在您的情况下,这是完全没用的。当你的应用及其引用的库超过 65,536 个方法时使用它,而不是在添加两次相同的类时使用它。

尝试将 gradle 版本更改为 3.0.1 或 2.3.3。通过更改为其中之一,它可能对您有用。

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    //or try classpath 'com.android.tools.build:gradle:2.3.3'
}

在此之后清理并重建项目。

希望对您有所帮助。

相关内容

最新更新