Realm插件导致'app:compileInstantrunco​​nfigDebugKotlin'任务失败

时间:2017-01-13 19:27:19

标签: android android-gradle realm

我有一个使用领域db gradle插件的项目。添加后,我开始得到instantCompile错误。

我在Android Studio中关闭了即时游戏,但没有骰子。跑./gradlew clean && ./gradlew assembleDebug --stacktrace,这就是输出。

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileInstantrunconfigDebugKotlin'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.processCompilerExitCode(Tasks.kt:217)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:173)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:104)
        at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:97)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 14 more

以下是我的gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.0.6'
    ext.compat_lib_version = '23.0.1'
    repositories {
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
        maven { url "https://oss.sonatype.org/content/repositories/releases" }
        maven {
            url 'https://github.com/uPhyca/stetho-realm/tree/master/maven-repo/com/uphyca/stetho_realm'
        }
        maven {
            url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "io.realm:realm-gradle-plugin:2.2.2"
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

subprojects { project ->
    if (project.name.endsWith("-schema")) {
        apply plugin: 'com.github.jacobono.jaxb'
        dependencies {
            jaxb 'com.sun.xml.bind:jaxb-xjc:2.2.7-b41'
            jaxb 'com.sun.xml.bind:jaxb-impl:2.2.7-b41'
            jaxb 'javax.xml.bind:jaxb-api:2.2.7'
        }
    }
}

subprojects {
    task listAllDependencies(type: DependencyReportTask){}
}

MBTA

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'realm-android'

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))


android {
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "ninja.carre.mbta"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "0.1.0-alpha"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        signingConfig signingConfigs.release
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable false
            jniDebuggable false
            signingConfig signingConfigs.release
            renderscriptDebuggable false
            pseudoLocalesEnabled false
        }
    }
    dexOptions {
        maxProcessCount 4
        javaMaxHeapSize "4g"
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
    productFlavors {
        instantrunconfig {
            applicationId "ninja.carre.mbta"
            minSdkVersion 21
            targetSdkVersion 23
            versionCode 1
        }
    }
}


dependencies {
    //    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
//    testCompile 'junit:junit:4.12'
    compile 'org.mockito:mockito-core:1.10.19'
    compile 'com.jakewharton.timber:timber:2.5.0'
    compile 'com.squareup.okhttp3:okhttp:3.4.2'
    compile 'org.slf4j:slf4j-android:1.7.12'
    compile 'org.sqldroid:sqldroid:1.0.3'
    compile 'com.google.dagger:dagger:2.+'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.+'


    compile group: 'com.google.transit', name: 'gtfs-realtime-bindings', version: '0.0.4'

    //gftsToSql Dependencies
    compile 'commons-io:commons-io:2.4'
    compile 'org.xerial:sqlite-jdbc:3.7.2'
    compile 'org.postgresql:postgresql:9.3-1100-jdbc3'
    compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
    compile 'com.fasterxml.jackson.core:jackson-core:2.8.3'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.8.3'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.8.3'
    // google play libraries
    compile "com.android.support:cardview-v7:$compat_lib_version"
    //support libraries
    compile "com.android.support:support-annotations:$compat_lib_version"
    compile "com.android.support:appcompat-v7:$compat_lib_version"
    compile "com.android.support:support-v4:$compat_lib_version"
    compile "com.android.support:support-v13:$compat_lib_version"
    compile "com.android.support:cardview-v7:$compat_lib_version"
    compile "com.android.support:recyclerview-v7:$compat_lib_version"
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

    compile 'com.google.android.gms:play-services-ads:9.6.0'
    compile 'com.google.android.gms:play-services-auth:9.6.0'
    compile 'com.google.android.gms:play-services-gcm:9.6.0'
    compile 'com.google.android.gms:play-services:9.6.0'
    compile 'com.google.maps.android:android-maps-utils:0.4.+'
    compile 'com.github.captain-miao:optroundcardview:1.0.0'
    compile 'com.android.support:multidex:+'
    compile 'org.mockito:mockito-core:1.10.19'
}
repositories {
    mavenCentral()
}

以前有人遇到过这个问题吗?有没有办法弄清楚究竟出了什么问题?

1 个答案:

答案 0 :(得分:1)

考虑到你使用kotlin,我可以告诉你

app:compileInstantrunconfigDebugKotlin

您似乎正在使用即时运行,但目前这与注释处理器不兼容,并且它肯定不适用于Realm的Transform gradle任务。所以你应该确保它被禁用。

更重要的是,

annotationProcessor 'com.google.dagger:dagger-compiler:2.+'

这应该是kapt

另外,请考虑不添加整个播放服务

compile 'com.google.android.gms:play-services:9.6.0'