java - 错误 :Execution failed for task

标签 java android android-gradle-plugin telegram

我在Android studio 中使用Telegram 的源代码时遇到了这个问题。所以我使用 android studio preview 3.0.0 beta 2,gradle 4.1-all.zip,mainsdk:15。 我做了一切,但它无法正常工作。

错误是:

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

build.gradle 文件是:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta4'
    }
}
apply plugin: 'com.android.application'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:21.0.+'
    compile 'com.google.android.gms:play-services:3.2.+'
    compile 'net.hockeyapp.android:HockeySDK:3.5.+'
    compile 'com.googlecode.mp4parser:isoparser:1.0.+'
    compile 'com.android.support:recyclerview-v7:+'
}

android {
    compileSdkVersion 21
    buildToolsVersion '26.0.0'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    signingConfigs {
        debug {
            storeFile file("config/debug.keystore")
        }

        release {
            storeFile file("config/release.keystore")
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }

    buildTypes {
        debug {
            debuggable true
            jniDebuggable true
            signingConfig signingConfigs.debug
        }

        release {
            debuggable false
            jniDebuggable false
            //signingConfig signingConfigs.release
        }

        foss {
            debuggable false
            jniDebuggable false
            signingConfig signingConfigs.release
        }
    }

    sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = [] //disable automatic ndk-build call
    }

    sourceSets.debug {
        manifest.srcFile 'config/debug/AndroidManifest.xml'
    }

    sourceSets.release {
        manifest.srcFile 'config/release/AndroidManifest.xml'
    }

    sourceSets.foss {
        manifest.srcFile 'config/foss/AndroidManifest.xml'
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    defaultConfig {
        applicationId "org.telegram.plus"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 458
        versionName "2.5.2.1"

    }
}

所以 gradle-wrapper.propertiesservices.gradle.org/distributions/gradle-4.1-all.zip

最佳答案

尝试删除该行:

compile 'com.google.android.gms:play-services:3.2.+'

如果可行。将其替换为您需要的播放服务的特定部分,例如:

compile 'com.google.android.gms:play-services-gcm:11.2.0'

用于 Google 云消息传递。

关于java - 错误 :Execution failed for task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46118739/

相关文章:

Java:向接口(interface) List<E> 添加一个新方法

java - 如何根据 SEAM 中另一个字段的值来根据需要验证一个字段?

java - 类型 JList 不接受参数类型 <String>

java - 如何按位置从数据库中删除行

android - 处理 android 和 django 时使用什么日期格式?

java - 是否可以使用仅在使用此枚举时定义的变量创建枚举?

android - 如何确定在生成过程中使用了哪个确切的依赖版本

android - 无效的LOC header

android - 使用 buildToolsVersion 28.0.1 时,发现多个文件的操作系统独立路径为 'lib/mips/libRSSupport.so'

java - 找不到 android.arch.lifecycle :compailer:1. 1.1 错误