【问题标题】:Unable to merge dex - Android Studio 3.0.1无法合并 dex - Android Studio 3.0.1
【发布时间】:2018-02-12 17:41:56
【问题描述】:

更新了gradle,我想这就是把事情搞砸的原因。

我的 gradle 版本是

build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
    }
}

ext {
    compileSdkVersion = 22
    buildToolsVersion = "23.0.1"

    minSdkVersion = 14
    targetSdkVersion = 23
}

build.gradle 在 ParseStarterProject 项目中

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "com.parse.starter"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'com.google.android.gms:play-services-maps:11.8.0'
    api 'com.android.support:appcompat-v7:23.4.0'
    api 'com.parse.bolts:bolts-tasks:1.3.0'
    api 'com.parse:parse-android:1.13.0'
    api 'com.google.android.gms:play-services:9.4.0'
    compile 'com.android.support:multidex:1.0.0'
}

编辑:外部库,请看一下,这是导致问题的原因吗?

【问题讨论】:

  • 在依赖中,而不是编译调用实现,也更新到最新的multidex版本
  • 通常Sync Project with Gradle files或重建项目即可解决此问题。
  • 不要使用不同版本的 google play 服务。您使用的是 11.8.0 和 9.4.0
  • @RobertK.,我尝试使用implementation。但仍然无法正常工作。甚至是 multidex 版本。
  • @GabrieleMariotti,完全正确。但不是升级,而是降级。

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


【解决方案1】:

更新您的 google play 服务可能会对您有所帮助。 最新的是 11.8.0

com.google.android.gms:play-services:11.4.0

清理重建您的项目

【讨论】:

  • 仍然面临同样的问题。
  • 我不知道是怎么回事,但是当我将 com.google.android.gms:play-services-maps:11.8.0 更改为 com.google.android.gms:play-services-maps:9.4.0 时,事情开始起作用了。
  • 正如 Gabrielle 所说,您正在尝试将 9.4.0 版的播放服务与 11.8.0 版的地图(已经是播放服务的一部分)一起使用。因此,您不能在 2 个不同版本中拥有相同的库。请不要包含播放服务,而应仅包含您需要的特定库。
猜你喜欢
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多