Android Studio 3.0では Kotlinが正式にサポートされ、実際魅力的にも見えるので試してみるのだけど、databindingとの両立がうまくいかない。
プラグインの更新が頻繁すぎて新旧の情報が入り交じり、かなり混沌とした状況。
2.3.3でうまくいかないので 3.0 canaria5を試してみたけど、状況変わらない。
最終的に 2.3.3で動くようになった設定
/build.gradle
buildscript { ext.kotlin_version = '1.1.3' ext.databinding_compiler_version = '2.3.3' ~略~ dependencies { ~略~ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" ~略~ } }
/app/build.gradle
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' ~略~ dependencies { ~略~ compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" kapt "com.android.databinding:compiler:$databinding_compiler_version" }
Realmを使っているアプリでは databinding同様に Realm用の設定が必要だった。
/build.gradle
buildscript { ~略~ ext.realm_version='3.4.0' ~略~ dependencies { ~略~ classpath "io.realm:realm-gradle-plugin:$realm_version" ~略~ } }
/app/build.gradle
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'realm-android' // kotlin-androidより後に記述しないと「XXX is not part of the schema for this Realm」というランタイムエラーに悩まされる羽目に ~略~ dependencies { ~略~ kapt "io.realm:realm-gradle-plugin:$realm_version" ~略~ }