2017-09-06 43 views
1

我對Gradle和Android非常陌生,但由於我隨時在項目中添加Kotlin,所以我在Android Studio中遇到錯誤時需要通過Gradle控制檯在默認情況下不給我任何漂亮的堆棧跟蹤或路徑。在搖籃消息查看錯誤的位置確實出現現在我只得到將Kotlin添加到現有Java項目中Android Studio Gradle消息錯誤

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

這是預期的功能,因爲它似乎工作在JetBrains的示例項目確定。

我的項目搖籃文件

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 
    } 

我的應用水平搖籃文件

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' 
} 

回答

-1

我沒有發現任何問題,可能是你可以在這裏看到[搖籃控制檯],它打印所有bulid log.you可以看到錯誤的詳細信息,併發布錯誤消息。

也就是說舊的配置,可能是你可以這樣配置新:

1.去除所有關於科特林配置。

2.使用菜單 - >工具 - >科特林 - >配置科特林項目 - > Android的與搖籃

3.change版本1.1.2-2,該版本1.1.4- 2 gradle這個:2.3.3有什麼錯誤

4.Sync gradle這個

等。新版本使用的擴展僅在CONFIG這樣的:

apply plugin: 'kotlin-android-extensions' 

不使用這樣的:

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

最終,這樣

項目搖籃配置文件

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" 
      } 
    } 

應用級別的Gradle文件

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

+0

這並沒有真正回答這個問題。如果您有不同的問題,可以通過單擊[提問](https://stackoverflow.com/questions/ask)來提問。您可以[添加賞金](https://stackoverflow.com/help/privileges/set-bounties)在您擁有足夠的[聲譽](https://stackoverflow.com/help/)後吸引更多關注此問題什麼聲譽)。 - [來自評論](/ review/low-quality-posts/17246963) –

+0

這不會提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17246963) –

相關問題