Android Studio 3.2.1 から 3.3.2 にアップデートしたときにやったことメモ

# 概要
Android Studio 3.2.1 から 3.3.2 にアップデートしたときいくつか対応したことがあるので
思い出しながらメモとして残しておく。誰かの助けになるといいな。

# やったこと（ERROR 対応）

### 依存関係の解消

```
ERROR: The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.0.5,16.0.5]], but resolves to 15.0.4. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
```

```
ERROR: The library com.google.firebase:firebase-iid is being requested by various other libraries at [[17.1.0,17.1.0]], but resolves to 17.0.3. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
```

ライブラリのバージョンが複数まじってると怒られているので、`gradlew` コマンドを使って依存関係を調べる。

`com.google.android.gms`、`com.google.firebase` が古かったので最新にした。

（依存関係の調べ方は「[android gradle 依存関係](https://www.google.com/search?q=android+gradle+%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82&oq=androi&aqs=chrome.0.69i59l3j69i60l3.1238j0j7&sourceid=chrome&ie=UTF-8)」とかでググるとスグでてくる。）

### Gradle のバージョンアップ

![スクリーンショット 2019-03-08 17.02.45.png](https://qiita-image-store.s3.amazonaws.com/0/34926/ce71b906-2aac-4c7a-81eb-076546437f0d.png)

[Update] でアップデート

### NDK のアップデート
![スクリーンショット 2019-03-08 15.58.47.png](https://qiita-image-store.s3.amazonaws.com/0/34926/1925c560-d5fb-922e-6099-cc3f121f9ff6.png)

こんなの出てくるので <font color="#0645AD">update</font> から指示通りにアップデート

### Butter Knife 関連の対応

Butter Knife 関連のがいろいろ出てきてちょっと時間かかった。。

```
com.android.builder.errors.EvalIssueException: The Android Gradle plugin supports only Butterknife Gradle plugin version 9.0.0-rc2 and higher.
The following dependencies do not satisfy the required version:
```

ButterKnife が古いって言われている。

[コチラ](https://stackoverflow.com/questions/54228087/error-the-android-gradle-plugin-supports-only-butterknife-gradle-plugin-version)を参考に、`9.0.0` にした。

いったんここまでで Gradle Sync は通るようになった。

が、いざ実行しようとすると別のエラー。

```
Error: Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()
```

[コチラ](https://stackoverflow.com/questions/49512629/android-studio-error-default-interface-methods-are-only-supported-starting-with) を参考に、`build.gradle` に

``` java
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
```

を追記。

ここまでで、とりあえず実行できるようになった。

# やったこと（WARNING 対応）

```
API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
```

こんなエラーがいくつか出た。

BuildVariant によって生成する apk の名前を変更するようにしているので（以下）

```
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}
```

こちらを

```
applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}
```

に変更。（`applicationVariants` の前の `android.` を削除）

BuildVariant に関連する WARNING は減ったが、以下の2つが残っているのがいた。

```
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
```

いろいろ調べて [コチラ](https://github.com/JakeWharton/butterknife/issues/1431) にたどりついた。

どうやら ButterKnife が原因のようでどうしようもないご様子。

できればキレイにしたかったけど、実行できないわけではないので気にしないことにした。

# おまけ
Android Studio 3.3.2 にアップデートしたら Build - Generate Signed Bundle or APK から apk つくるときに debug release を一緒に作れるようになってた。

![スクリーンショット 2019-03-08 20.03.00.png](https://qiita-image-store.s3.amazonaws.com/0/34926/1d3a8c18-f53e-598e-dc6e-24ac5fed6dd3.png)