Gradle构建错误将字节码转换为dex时出错:原因:com.android.dex.DexException:多个dex文件定义Landroid / arch / lifecycle / liveData $ 1

时间:2018-03-05 10:39:37

标签: java android android-studio gradle build.gradle

从过去3天开始,我收到了这个错误,并尽我所能。任何人都可以帮我纠正它。我正在使用Android 3.0,我的sdk和Google Play服务已更新,我已将multiDexEnabled true添加到我的代码中...并尝试删除.gradle和.idea文件夹并再次重建... 。但错误仍然存​​在任何帮助将不胜感激

  

将字节码转换为dex时出错:原因:   com.android.dex.DexException:多个dex文件定义   Landroid /拱/生命周期/ liveData $ 1;

7 个答案:

答案 0 :(得分:7)

我刚刚遇到了同样的问题并通过更新生命周期库的版本修复了它:

implementation 'android.arch.lifecycle:runtime:1.1.0'
implementation 'android.arch.lifecycle:extensions:1.1.0'
implementation 'android.arch.lifecycle:compiler:1.1.0'

似乎在我的项目中使用的另一个库声明版本1.1.0,但我使用的是1.0.0。

答案 1 :(得分:1)

这应该与您的gradle库中的不兼容版本有关。你可以在这里浏览你的gradle库吗?

答案 2 :(得分:0)

您的gradle依赖项中是否有最新的multidex?

'com.android.support:multidex:1.0.1'

并添加此

android {
    dexOptions {
        preDexLibraries = false
    }
}

答案 3 :(得分:0)

尝试“文件”菜单下的“无效缓存/重新启动...”菜单。

答案 4 :(得分:0)

出现同样的问题,我所要做的就是将我正在使用的所有库更新到各自的新更新中并同步gradle 重建再次运行这对我有用

答案 5 :(得分:0)

我用新版本更新了库。需要在同一版本中声明所有的android基础库(如果使用新版本更新某些库并使用旧版本中的某些库将导致此类异常)。

git rev-parse HEAD

答案 6 :(得分:-1)

您是否在build.gradle中添加了依赖项?

compile 'com.android.support:multidex:1.0.0'