升级到gradle:2.1.0-alpha5后,项目无法编译

6

我有一个Android项目,使用gradle:2.1.0-alpha3版本之前的版本完美运行。现在它会抛出这些错误,但我不知道如何解决:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.NoSuchMethodError: com.google.common.collect.FluentIterable.append(Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable;

很奇怪,有一个特定的分支在过去四五天也会在apk中抛出重复的对象,详情请见

我的应用程序模块的build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0-alpha5'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

allprojects {
    repositories {
        jcenter()
    }

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked"
        }
    }
}

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

我的模块的build.gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        applicationId "..."
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    dataBinding {
        enabled = true
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

//PixlUI
repositories {
    maven {
        url "https://jitpack.io"
    }
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    // Dagger 2
    apt 'com.google.dagger:dagger-compiler:2.0.2'
    provided 'org.glassfish:javax.annotation:10.0-b28'
    //Autodagger
    apt 'com.github.lukaspili.autodagger2:autodagger2-compiler:1.1'
    provided 'javax.annotation:jsr250-api:1.0'

    compile 'com.android.support:design:23.2.1'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:cardview-v7:23.2.1'
    compile 'com.android.support:recyclerview-v7:23.2.1'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-wallet:8.4.0'
    compile 'com.google.android.gms:play-services-auth:8.4.0'
    compile 'com.android.support:support-v4:23.2.1'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.dagger:dagger:2.0.2'
    compile 'com.github.lukaspili.autodagger2:autodagger2:1.1'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'net.steamcrafted:materialiconlib:1.0.3@aar'
    compile 'com.lorentzos.swipecards:library:1.0.9@aar'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.github.neopixl:PixlUI:v1.0.6'
    compile 'com.scottyab:secure-preferences-lib:0.1.4'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'io.card:android-sdk:5.3.0'
    compile 'com.paypal.sdk:paypal-android-sdk:2.13.1'
}

任何形式的帮助或指引都将不胜感激。

还尝试使用SDK工具和所有依赖项以v22构建,但结果相同。 - Chisko
Android Bug跟踪器中似乎已经存在了这个问题。该问题尚未解决。 - Avinash R
1个回答

7
问题出在Dagger的依赖上。您需要使用Dagger的新版本,即v2.1或更高版本。
(参考:官方问题

这确实解决了问题。谢谢Avinash。现在我可以看到重复文件错误:执行任务transformResourcesWithMergeJavaResForDebug'失败。 TransformException:APK中复制的重复文件scala-asm.properties 文件1:C:\ Users \ Lenovo \ .gradle \ caches \ modules-2 \ files-2.1 \ org.scala-lang.modules \ scala-asm \ 5.0.4-scala-3 \ ec0b54860f2fec77be8c6b7a8cc85c638c697427 \ scala-asm-5.0.4-scala-3.jar 文件2:C:\ Users \ Lenovo \ .gradle \ caches \ modules-2 \ files-2.1 \ org.typelevel \ scala-compiler \ 2.11.7 \ f73061d1ba36b2dbefeb359c91253ae2d201ed7b \ scala-compiler-2.11.7.jar有什么想法吗? - Chisko
如果您能在官方错误报告中确认解决方案,那将非常有帮助。 - Avinash R
1
我也在官方错误页面上发表了评论,并在这里发布了一个关于另一个错误的新问题 http://stackoverflow.com/questions/36413778/gradle-gradle2-1-0-alpha5-is-compiling-duplicate-objects-in-apk 。再次感谢Avinash。 - Chisko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接