【问题标题】:error with gcm while generating signed apk android生成签名的apk android时gcm出错
【发布时间】:2016-09-22 04:45:39
【问题描述】:

我在 android studio 中生成签名 apk 时出错

Error:Execution failed for task ':AppName:transformClassesWithJarMergingForRelease'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/common/internal/zzv$zza$zza.class

Gradle....

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "myApp"
    minSdkVersion 14
    targetSdkVersion 23
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
dexOptions {
    javaMaxHeapSize "2g"
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}
}

dependencies {
    compile 'org.altbeacon:android-beacon-library:2.1.4'
    compile project(':qRCodeReaderViewlib')
    compile project(':viewpagerindicator')
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile files('libs/android-query-full.0.26.7.jar')
    //compile files('libs/gcm.jar')
    compile files('libs/mint-4.4.0.jar')
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.firebase:firebase-messaging:9.4.0'
}
// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services'

有什么帮助吗?提前谢谢..

【问题讨论】:

  • 将此行添加到依赖项..compile fileTree(dir: 'libs', include: ['*.jar'])..并将jar文件添加到依赖项..并同步项目

标签: java android apk


【解决方案1】:

您正在使用不同版本的播放服务。这通常会导致错误。更改

compile 'com.google.android.gms:play-services-maps:9.0.0'

 compile 'com.google.android.gms:play-services-maps:9.4.0'

https://stackoverflow.com/a/38201741/3111083.

【讨论】:

    【解决方案2】:

    这是您的 gradle 中存在重复或传递依赖项的情况。要检查重复的来源,请始终首先构建依赖关系树。

    这是通过allDependencies gradle 任务完成的。在 Android Studio 的右侧栏中,单击 Gradle > app > Tasks > Android > androidDependencies。您的 gradle 控制台现在将以

    的形式输出您的依赖关系树
    |    +--- pm.tin.tincan.android:sectioned-recyclerview:1.0
    |    +--- com.crashlytics.sdk.android:crashlytics:2.5.1
    |    |    +--- io.fabric.sdk.android:fabric:1.3.5
    |    |    +--- com.crashlytics.sdk.android:crashlytics-core:2.3.4
    |    |    |    +--- io.fabric.sdk.android:fabric:1.3.5
    |    |    |    \--- com.crashlytics.sdk.android:answers:1.3.1
    |    |    |         \--- io.fabric.sdk.android:fabric:1.3.5
    |    |    +--- com.crashlytics.sdk.android:beta:1.1.3
    |    |    |    \--- io.fabric.sdk.android:fabric:1.3.5
    |    |    \--- com.crashlytics.sdk.android:answers:1.3.1
    |    |         \--- io.fabric.sdk.android:fabric:1.3.5
    |    +--- com.google.android.gms:play-services-gcm:8.4.0
    |    |    +--- com.google.android.gms:play-services-base:8.4.0
    |    |    |    \--- com.google.android.gms:play-services-basement:8.4.0
    |    |    \--- com.google.android.gms:play-services-measurement:8.4.0
    |    |         \--- com.google.android.gms:play-services-basement:8.4.0
    |    +--- de.hdodenhof:circleimageview:2.0.0
    

    在这里,检查树中任何地方的冲突库版本。 排序后,您可以通过说

    来排除冲突的部门
    compile("com.crashlytics.sdk.android:crashlytics:2.5.1") {
                transitive = true
                exclude group: "com.android.support" // Conflicting dep removed here
            }
    

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多