2017-05-18 5 views
3

ich in einem bestehenden Android-Projekt einiger Kotlin Klassen verwenden (bereits mit Reich) werden die Kotlin Klassen jeden Bereich Funktion nicht verwenden, jetzt auf der Laufzeit erhalte ich diesen FehlerFehler bei der Einrichtung Reich mit Kotlin

:app:compileDebugKotlin 
Using kotlin incremental compilation 
:app:compileDebugJavaWithJavac 
Destination for generated sources was modified by kapt. Previous value = /home/debu/AndroidStudioProjects/WT_Application/app/build/generated/source/apt/debug 

error: Annotation processor '__gen.AnnotationProcessorWrapper_debug_io_realm_processor_RealmProcessor' not found 
1 error 

:app:compileDebugJavaWithJavac FAILED 
:app:copyDebugKotlinClasses SKIPPED 

FAILURE: Build failed with an exception. 

meine App build.gradle

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

android { 
    def globalConfiguration = rootProject.extensions.getByName("ext") 

    compileSdkVersion globalConfiguration.getAt("androidCompileSdkVersion") 
    buildToolsVersion globalConfiguration.getAt("androidBuildToolsVersion") 
    defaultConfig { 
     applicationId globalConfiguration.getAt("androidApplicationId") 
     minSdkVersion globalConfiguration.getAt("androidMinSdkVersion") 
     targetSdkVersion globalConfiguration.getAt("androidTargetSdkVersion") 
     versionCode globalConfiguration.getAt("androidVersionCode") 
     versionName globalConfiguration.getAt("androidVersionName") 
     testInstrumentationRunner globalConfiguration.getAt("testInstrumentationRunner") 
     /*jackOptions { 
      enabled true 
     }*/ 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
    dataBinding { 
     enabled = true 
    } 
} 

dependencies { 
    def presentationDependencies = rootProject.ext.presentationDependencies 
    def presentationTestDependencies = rootProject.ext.presentationTestDependencies 
    def developmentDependencies = rootProject.ext.developmentDependencies 
    compile presentationDependencies.dagger 
    compile presentationDependencies.butterKnife 
    compile presentationDependencies.recyclerView 
    compile presentationDependencies.cardview 
    compile presentationDependencies.rxJava 
    compile presentationDependencies.rxAndroid 
    compile presentationDependencies.appcompat 
    compile presentationDependencies.constraintLayout 
    compile presentationDependencies.design 
    compile presentationDependencies.retrofit 
    compile presentationDependencies.gsonconverter 
    compile presentationDependencies.rxjavaadapter 
    compile presentationDependencies.glide 
    compile presentationDependencies.flexbox 
    compile presentationDependencies.maps 
    compile presentationDependencies.mapUtils 
    compile presentationDependencies.pagerIndicator 
    annotationProcessor presentationDependencies.daggerCompiler 
    annotationProcessor presentationDependencies.butterKnifeCompiler 
    provided presentationDependencies.javaxAnnotation 
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 

    androidTestCompile presentationTestDependencies.junit 
    androidTestCompile presentationTestDependencies.mockito 
    androidTestCompile presentationTestDependencies.dexmaker 
    androidTestCompile presentationTestDependencies.dexmakerMockito 
    androidTestCompile presentationTestDependencies.espresso 
    androidTestCompile presentationTestDependencies.testingSupportLib 
    //Development 

    compile developmentDependencies.leakCanary 
    compile files('libs/YouTubeAndroidPlayerApi.jar') 
} 
repositories { 
    mavenCentral() 
} 

Projekt build.gradle

apply from: 'buildsystem/dependencies.gradle' 
buildscript { 
    ext.kotlin_version = '1.1.2-4' 
    repositories { 
     jcenter() 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.2' 
     classpath "io.realm:realm-gradle-plugin:3.2.0" 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    ext { 
     androidApplicationId = 'com.wandertrails' 
     androidVersionCode = 1 
     androidVersionName = "1.0" 
     testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" 
     testApplicationId = 'com.wandertrails.test' 
    } 
} 

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

kann nun jemand k herauszufinden, was ist der Grund für diesen Fehler ????

+1

Versuchen Sie, die Annotationsprozessor-Abhängigkeiten ebenfalls zur 'kapt'-Konfiguration hinzuzufügen:' kapt presentationDependencies.daggerCompiler', 'kapt presentationDependencies.butterKnifeCompiler', und sehen Sie, ob es funktioniert. – hotkey

+0

jetzt erhalte ich die folgenden Fehler - Fehler: zirkuläre Abhängigkeit zwischen den folgenden Aufgaben: : App: compileDebugKotlin \ ---: App: kaptDebugKotlin \ ---: App: compileDebugKotlin (*) (*) - Details weggelassen (zuvor aufgelistet) – Debu

+2

Wenn Sie Android Gradle plugin 3.0.0-alpha1 verwenden, dann ist die zirkuläre Abhängigkeit ein bekanntes Problem, das durch Datenbindung verursacht wird, siehe http://stackoverflow.com/questions/44035504/how- to-Use-Daten-Bindung-und-Kotlin-in-Android-Studio-3-0-0; Wahrscheinlich wird der dort beschriebene Workaround (Zurücksetzen auf Kotlin 1.1.2-2 und Deaktivieren von IC) dies beheben. – hotkey

Antwort

3
apply plugin: 'com.android.application' 
apply plugin: 'kotlin-android' 
apply plugin: 'kotlin-kapt' 
apply plugin: 'realm-android' 

Und

kapt presentationDependencies.daggerCompiler 
kapt presentationDependencies.butterKnifeCompiler 

könnte es beheben.

+0

nach dem Hinzufügen der Zeilen Fehler sind weg - annotationProcessor presentationDependencies. daggerCompiler annotationProcessor presentationDependencies.butterKnifeCompiler Kapt presentationDependencies.daggerCompiler Kapt presentationDependencies.butterKnife Kapt "com.android.databinding: Compiler: 2.3.2" jetzt ein neues Problem kommt, butter~~POS=TRUNC nicht funktioniert (BK ver - 8.6.0, Gradle ver - 3.4.1) – Debu

+0

@Debu Würden Sie bitte diese Antwort akzeptieren? Diese Frage hat nichts mit Buttermesser zu tun. Sie werden eine neue Frage dafür öffnen müssen. –

Verwandte Themen