Android
gradle
AndroidStudio

Android Studio 3.1 -> 3.2へのマイグレーションメモ

雑ですがなにかの参考にしてください

何かこれもやったほうがいいよみたいなのあれば教えてください :bow:

このQiitaのコメントにこのQiitaにないやるべき対応があるので、そちらもご覧ください :pray:

Android Gradle Pluginのバージョンアップ

"com.android.tools.build:gradle:3.2.0"へ変更

DataBinding + Kotlinを使っていたらkaptでのdatabindingのバージョン指定が要らなくなったので削除する

https://android.googlesource.com/platform/tools/base/+/1e9d5dc30ecc6187c48fd21ba0e533b4f797bd94%5E%21/

以下を消す

kapt "com.android.databinding:compiler:..."

shyiko/ktlintを使っているとエラーが起きる

java.lang.IllegalArgumentException: Cannot change attributes of configuration ':app:kapt' after it has been resolved

というエラーが起きます
https://issuetracker.google.com/u/2/issues/111990719#comment13
詳細はここ
以下のようにすると治ります

     commandLine 'java', '-cp', configurations.ktlint.join(System.getProperty('path.separator')), ...
with this line:
    doFirst {
        commandLine 'java', '-cp', configurations.ktlint.join(System.getProperty('path.separator')), ...
    }

古いCrashlytics Gradle pluginを使っているとエラー

The Android Gradle plugin supports only Crashlytics Gradle plugin version 1.25.4 and higher. Project 'abema-android' is using version 1.22.1.

というビルドエラーが起きる。
classpath 'io.fabric.tools:gradle:1.25.4' などにアップデート

ちなみにチェンジログはここで見られます。
https://docs.fabric.io/android/changelog.html

gradle/android-cache-fix-gradle-pluginを使っていたら削除する

Note: With Android 3.2.x the cache-fix plugin is not required.

要らなくなったみたいなので消します
https://github.com/gradle/android-cache-fix-gradle-plugin

android.enableD8=true、android.databinding.enableV2=true の削除

source: https://developer.android.com/studio/releases/gradle-plugin

By default, Android Studio now uses a new DEX compiler called D8

source: https://developer.android.com/topic/libraries/data-binding/start#preview-compiler

The new data binding compiler in version 3.2 is enabled by default

DataBinding V2に対応する方法は以下にあります
https://qiita.com/takahirom/items/4302c65e864a2aee956a#databinding%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88

Build Toolsのバージョンの警告への対応

WARNING: The specified Android SDK Build Tools version (27.0.3) is ignored, as it is below the minimum supported version (28.0.2) for Android Gradle Plugin 3.2.0.

が表示されます。
28.0.2に変更してあげました。

Kotlinのバージョンアップ

1.2.50 -> 1.2.71にアップデート
古いKotlinを使っているとAndroid Studioがハングするらしい
https://developer.android.com/studio/releases/#3-2-0