他にこうしたほうがいいとか、この設定も必要だったとか、この設定はいらないとかあればコメントかTwitterなどどこでもいいので教えていただけると嬉しいです。

Gradle Pluginのアップデート

build.gradle
-        classpath 'com.android.tools.build:gradle:3.0.1'
+        classpath 'com.android.tools.build:gradle:3.1.0'

Gradle WrapperとbuildToolsVersionを必要に応じてアップデート

Android Gradle Plugin 3.1にともなう環境のアップデートです(コメントありがとうございました)

gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
build.gradle
 android {
    buildToolsVersion '27.0.3'

最新のビルド環境にする

gradle.properties
+android.enableD8.desugaring=true
+android.databinding.enableV2=true

新しいD8コンパイラを使いたい場合、android.enableD8フラグはデフォルトで有効であるため、必要ありません。

https://android-developers.googleblog.com/2018/03/android-studio-3-1.html

no android.enableD8 flag, or if it does ensure that it is set to true.

コメントいただいたのですがandroid.databinding.enableV2とandroid.enableD8.desugaringはまだpreviewとも取れる記載があるので、利用する場合は注意してください。 (コメントありがとうございました)

https://developer.android.com/studio/releases/index.html

You can preview a new incremental compiler for your data binding classes

In-process desugaring in D8 (preview)

DataBindingを使っているプロジェクト

databinding.enableV2でincludeタグで使っているDataBindingがNullableじゃなくなるので!!を消します。(ビルドのログの中で警告が出るので、それで場所がわかります)
ほかNullableになっているところを!!を追加を行ったりします。

またObservableFieldを使っているプロジェクトでは以下のように初期化しているとクラッシュするので気をつけましょう。ObservableFieldに別の引数ありの別のコンストラクタが生えていて、そちらが使われるため、クラッシュします。

×

val value:ObservableField<Type?> = ObservableField(null)

image.png

image.png

普通にコンストラクタの引数をなくせば大丈夫です。

val value:ObservableField<Type?> = ObservableField()

.idea/codeStyleSettings.xmlがあるプロジェクトのマイグレーション

Android Studio 3.0.1まではコードスタイルの設定の置き場所が.idea/codeStyleSettings.xmlになっていましたが、3.1からは.idea/codeStyles/codeStyleConfig.xml.idea/codeStyles/Project.xmlに分かれました。

マイグレーション方法としては3.0のプロジェクトを3.1のAndroid Studioで開くことで自動的に2つのファイルが作られます。
どうやら.idea/codeStyles/codeStyleConfig.xmlがどのコードスタイルを使うかの設定が書かれており

<component name="ProjectCodeStyleConfiguration">
  <state>
    <option name="USE_PER_PROJECT_SETTINGS" value="true" />
  </state>
</component>

.idea/codeStyles/Project.xmlにはプロジェクトのコードスタイルが入るようになっています。

<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <option name="USE_SAME_INDENTS" value="true" />

.gitignoreを以下のようにしました

-!.idea/codeStyleSettings.xml
+!.idea/codeStyles/*
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.