我有Android Studio Beta版。我创建了一个新项目,编译我的旧模块,但当我尝试启动应用程序时,它没有启动消息:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

dexarchiivemergenerexception:无法合并dex

但是我不知道如何解决这个错误。我在谷歌上搜索了几个小时,但没有成功。

我的项目gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我的应用程序gradle:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "parad0x.sk.onlyforyou"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    lintOptions {
        checkReleaseBuilds false
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile project(path: ':loginregisterview')


}

我的模块gradle:

    apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.0.2'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    testCompile 'junit:junit:4.12'
    compile project(path: ':parser')

}

我的第二个模块:

     apply plugin: 'com.android.library'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    realm {
        syncEnabled = true
    }
    useLibrary 'org.apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    //  compile 'com.android.support:appcompat-v7:23.1.0'

    //   compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
    compile 'com.google.code.gson:gson:2.6.2'
}

____________ finding_________

当我没有导入第二个模块(解析器)时,应用程序没有在dex上崩溃,但当模块没有导入时,应用程序无法工作。: D: D


当前回答

这个还没有在这里分享,所以希望它能帮助到一些人。

这个链接为我解决了同样的问题。

首先,我要指出,我不必将multiDexEnabled设置为true。

首先,我在pubspec中设置依赖项。yaml来

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^0.8.2 

并运行flutter包进入我的IDE终端。

此外,我还必须更改最小目标SDK版本:

android / app /构建开放。Gradle,然后找到那行说 minSdkVersion 16。 将这一行更改为minSdkVersion 21。 保存文件。

这本身就可以解决你的问题;然而,我还必须做以下工作,因为我的一些依赖版本不匹配。

我必须打开android/app/build。Gradle,然后添加下面的行作为文件的最后一行: 应用插件:'com.google.gms.google-services'

接下来,我必须打开android/build。Gradle,然后在buildscript标签中,添加一个新的依赖:

buildscript {
   repositories {
       // ...
   }

   dependencies {
       // ...
       classpath 'com.google.gms:google-services:3.2.1'   // new
   }
}

在此之后,我的应用程序终于在android模拟器上运行。

如果您遇到问题,该链接有一个更完整的演练。

另外,需要注意的是,我不必将multiDexEnabled设置为true。

其他回答

再补充一下上述解决方案:

确保没有重复的依赖项指向 它们的不同版本,在多个地方(甚至在同一个文件中)。

我花了3个多小时阅读和测试所有的回复。 最后一个问题是图书馆的“joda时间”,

阅读这个答案,我发现了问题,运行gradle控制台与完整的堆栈跟踪和读取错误细节。

在大多数情况下,这是可行的。 这对我很管用。 祝你好运,如果这对你也有用的话。

步骤1:构建中。gradle(模块:应用) 添加: defaultConfig { multiDexEnabled真实 }

步骤2:这样做:Build=>清洁项目

步骤3:这样做:Build=>重建项目

嗨,我也有同样的问题,几乎什么都试过了。所以,经过6个小时的挣扎,我终于解决了问题。

classpath 'com.google.gms:google-services:3.0.0'

Google-services 3.0在playServiceVersion: 11.6.0或更低版本的Studio 3.0不支持firebase。

implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"

解决方案:

我已将谷歌服务更改为

classpath 'com.google.gms:google-services:3.1.1'

它支持firebase服务。

希望有人能节省时间。

确保所有相同的源库具有相同的版本号。在我的情况下,我使用不同的谷歌api版本。我对所有谷歌库使用11.6.0,但谷歌地方api使用10.4.0。将谷歌place api更新到11.6.0后,问题修复。

请注意,我的multidex也为该项目启用。