我的项目与这些图书馆完美结合:
// 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
我补充说
- Add the dependency to your project’s top-level build.gradle:
classpath 'com.google.gms:google-services:1.4.0-beta3'
- 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编译的问题