android – 添加play-services库后出错:’:app:transformClassesWithJarMergingForDebug’

前端之家收集整理的这篇文章主要介绍了android – 添加play-services库后出错:’:app:transformClassesWithJarMergingForDebug’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目与这些图书馆完美结合:
// Support libraries
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:cardview-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
// Other stuff
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.google.code.gson:gson:2.3'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.afollestad:material-dialogs:0.7.8.1'
compile 'com.jpardogo.materialtabstrip:library:1.1.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.code-troopers.betterpickers:library:2.0.0'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile 'com.facebook.fresco:fresco:0.7.0'

现在我试图按照这个教程:Set up a GCM Client App on Android

我补充说

  1. Add the dependency to your project’s top-level build.gradle:
    classpath 'com.google.gms:google-services:1.4.0-beta3'
  2. Add the plugin to your app-level build.gradle:
    apply plugin: 'com.google.gms.google-services'

然后我补充说:

compile "com.google.android.gms:play-services:8.1.0"

现在,当我尝试同步,清理或重建.毕业证明我已经成功了.

错误
当我尝试运行应用程序并选择设备.我得到这个错误

Error:Execution Failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl.class

这是我应用级build.gradle的最后一个版本:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    packagingOptions {
        exclude 'Meta-INF/DEPENDENCIES'
        exclude 'Meta-INF/LICENSE'
        exclude 'Meta-INF/LICENSE.txt'
        exclude 'Meta-INF/license.txt'
        exclude 'Meta-INF/NOTICE'
        exclude 'Meta-INF/NOTICE.txt'
        exclude 'Meta-INF/notice.txt'
        exclude 'Meta-INF/ASL2.0'
        exclude 'Meta-INF/services/javax.annotation.processing.Processor'
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        applicationId "com.mbh.gcmTest"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 12
        versionName "1.2.2"

        // Enabling multidex support. trying to fix 
        multiDexEnabled true
    }
    lintOptions {
        disable 'InvalidPackage'
    }
    buildTypes {
        release {
            minifyEnabled false
        }
    }
    dexOptions {
        preDexLibraries = false
    }
    productFlavors {
    }
}

//compile fileTree(include: ['*.jar'],dir: 'libs')
//debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
//releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
dependencies {
    provided 'org.glassfish:javax.annotation:10.0-b28'

    // Support Libraries
    compile 'com.android.support:support-v4:23.1.0'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'

    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.afollestad:material-dialogs:0.7.8.1'
    compile 'com.jpardogo.materialtabstrip:library:1.1.0'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'com.code-troopers.betterpickers:library:2.0.0'
    compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.squareup.okhttp:okhttp:2.5.0'
    compile 'com.facebook.fresco:fresco:0.7.0'

    // FOR GCM
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.android.gms:play-services:8.1.0'
}

在尝试由@JBirdVegas提供的答案后,我得到这个错误

Error:Execution Failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 1

这是毕业日志:

Note: the configuration refers to the unknown method 'void attachBaseContext(android.content.Context)' in class 'com.emse.emseportal3.App'
Note: there were 1 references to unknown class members.
      You should check your configuration for typos.
Note: there were 14 classes trying to access annotations using reflection.
      You should consider keeping the annotation attributes
      (using '-keepattributes *Annotation*').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 20 classes trying to access generic signatures using reflection.
      You should consider keeping the signature attributes
      (using '-keepattributes Signature').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 3 classes trying to access enclosing classes using reflection.
      You should consider keeping the inner classes attributes
      (using '-keepattributes InnerClasses').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 15 unresolved dynamic references to classes or interfaces.
      You should check if you need to specify additional program jars.
      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 33 accesses to class members by means of introspection.
      You should consider explicitly keeping the mentioned class members
      (using '-keep' or '-keepclassmembers').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)
Note: you're ignoring all warnings!
Preparing output jar [D:\EmseArge\Mohamad\Android\EmsePortal2\app\build\intermediates\multi-dex\debug\componentClasses.jar]
  Copying resources from program jar [D:\EmseArge\Mohamad\Android\EmsePortal2\app\build\intermediates\transforms\CLASSES\FULL_PROJECT\jarMerging\debug\classes.jar]
:app:transformClassesWithDexForDebug
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
3 errors; aborting
Error:Execution Failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 1
Information:BUILD Failed

解决方法

看起来播放服务已经包含支持v4.尝试从类路径中排除它
compile('com.google.android.gms:play-services:8.1.0') {
    exclude group: 'com.android.support',module: 'support-v4'
}

第二个错误是不同的.第一件事不要使用Java8它不支持而不是使用Java7你还使用什么版本的Android Gradle插件?尝试最新的com.android.tools.build:gradle:1.4.0-beta4

还试试不要使用最新的play-services,我遇到了一个针对8.1.0而不是7.8.0编译的问题

猜你在找的Android相关文章