Kotlinを使用してDagger2でセットアップしようとするのは初めてですが、いくつかの例を見てきましたが、どれもうまくいかないようです。
私はこれを取得し続けます
エラー:タスク ':app:kaptDebugKotlin'の実行に失敗しました。
内部コンパイラエラー。詳細については、ログを参照してください
Build.gradleがあります(モジュール:アプリ)
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-Android-extensions'
Android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.exampleapp"
minSdkVersion 14
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
}
dexOptions {
javaMaxHeapSize "2048M"
}
}
ext {
supportLibVer = '25.0.0'
daggerVer = '2.8'
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Support lib
compile "com.Android.support:appcompat-v7:${supportLibVer}"
kapt "com.google.dagger:dagger-compiler:${daggerVer}"
compile "com.google.dagger:dagger:${daggerVer}"
provided "javax.annotation:jsr250-api:${javaxVer}"
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
repositories {
mavenCentral()
}
./gradlew clean build
コマンドを使用してアプリケーションを実行し、コードの正確な問題を確認します。ターミナルにAndroid Studio。
私はしばらくの間この問題に直面しました。ライブラリが失敗する理由を与えてくれたので、ビルドタブを読むことは私を大いに助けました。
タブがあります 多くの問題がありましたが、
1。作成した新しいエンティティを@Databaseアノテーションに追加していません
2。インターフェースに@Daoアノテーションを追加していません
3。 @Queryアノテーションで書き込まれた変数名を更新していません
だから私は問題ごとに問題を殺さなければならなかった、最終的にそれは後で実行することができました。さらに、コードがスタックしないように、プロジェクトをクリーンアップして再構築していました。 Android Studio。
さらに、この答えを確認して、エラーの発見に役立てることができます エラー時のログを有効にする
最初の変更
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
に
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
次に、プロジェクトのGradleファイルを微調整し、使用されているKotlinのバージョンを更新する必要があります。
ext { kotlin_version = '1.3.10' gradleVersion = '3.1.0' }