AndrewBrntt
AndrewBrntt

Reputation: 1726

Adding Kotlin to existing Java project breaks Android Studio gradle messages errors

I am very new to Gradle and Android but since I have added Kotlin to my project anytime I get an error in Android Studio I need to go through the Gradle console which does not give me any of the nice stack traces or pathing by default. In the Gradle messages view where errors did appear now I only get

Error:Execution failed for task ':app:kaptDebugKotlin'. Internal compiler error. See log for more details

Is this the intended functionality because it seems to work ok in the jetbrains example projects.

My Project Gradle file

buildscript {

    ext.kotlin_version = '1.1.4-2'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        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 {
    repositories {
        jcenter()
     }
    }

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

My App level Gradle file

buildscript {

ext.kotlin_version = '1.1.4-2'
repositories {
    jcenter()
}
dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}

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

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "com.test.andrew.ccombo_breaker"
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        }
    sourceSets {
    main.java.srcDirs += 'src/main/java'
    main.java.srcDirs += 'src/main/kotlin'
}
}

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'
})
  compile 'com.android.support:appcompat-v7:25.3.1'
  compile 'com.android.support.constraint:constraint-layout:1.0.2'

  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  compile 'com.google.dagger:dagger:2.9'
  kapt 'com.google.dagger:dagger-compiler:2.9'

  testCompile 'junit:junit:4.12'
}

Upvotes: 1

Views: 2778

Answers (1)

super
super

Reputation: 21

I did not see any problems,May be you can see here [Gradle Console] ,it print all bulid log.you can see error details,and post error message.

That is old config,May be you can config new like this:

1.remove all about Kotlin config.

2.use the menu->tools-->Kotlin-->Configure Kotlin in project-->Android with Gradle

3.change version to 1.1.2-2, the version 1.1.4-2 for gradle:2.3.3 has something bug

4.Sync gradle

other. The new version use extensions only config this:

apply plugin: 'kotlin-android-extensions'

dont use this:

dependencies {
            classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }

ultimate,config like this

Project Gradle file

buildscript {
            ext.kotlin_version = '1.1.2-2'
            repositories {
                jcenter()
            }   
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            }
    }

App level Gradle file

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

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.test.andrew.ccombo_breaker"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}
kapt {
    generateStubs = true
}
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'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    compile 'com.google.dagger:dagger:2.9'
    kapt 'com.google.dagger:dagger-compiler:2.9'

    testCompile 'junit:junit:4.12'
}

Kotlin official doc

Upvotes: 2

Related Questions