先日購入した中華スマホの画面はノッチがついていたので、早速タッチスクリーンテストの全画面表示の対応を行ってみました。
Android Studioも気づけばかなりバージョンが上がっていました。ここ数年、色々と思うところがあってまともにAndroidアプリも作っていませんでした。
インストールは行っているので、ソースを開いてコンパイルする「だけ」なのですが、予想以上にうまくいきませんでした。途方に暮れつつ検索を丸一日ぐらいかけて様子を掴んで最終的には新規プロジェクトを作成して、それと比較して手直しすることでなんとかビルドが通るようになりました。
最初に新規プロジェクトを作成し、ビルドを行うと失敗。というか同じようなエラーで止まってしまったので、ステーブルバージョンではなくベータバージョンのAndroid Studioでも行ってもビルドできずに途方に暮れ、GradleのバージョンやSDKレベル、ツールレベルも色々試行錯誤してもダメ。Android Studioのバージョンは関係なさそうなので、ステーブルバージョンのAndroid Studioで改めて新規プロジェクトを作成し、Android Gradle plugin を 4.0.2 、Gradleを6.4.1にしてようやくビルドが完了することができた。
この完了できたプロジェクトを見てみると、違いはapp/gradle.buildの最初の部分
apply plugin: 'com.android.application'
となっている部分が
plugins {
id 'com.android.application'
}
と変わっていた。思い起こしてみればエラーで「id」が無いというようなメッセージを見かけた気がする。が、正直Gradle関連のエラーはまったく意味不明でよくわからない。
もう一つは
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
の指定が増えていた。
ビルドできる環境は得ることができたのだが、気になるエラーメッセージがメモ帳に張り付いていた。
「Minimum supported Gradle version is 6.5. Current version is 6.4.1.」
試行錯誤中に出たメッセージで正確にどの環境かはわからないが、ベータバージョンのAndroid Studioでこのメッセージが出ていたのだと思う。これが正しければ、ベータバージョンがステーブルバージョンに降りてきたときまたパズルをやらなければならなさそうだ。
この振り回され方は正直疲れる。
補足事項として、リポジトリがjcenterが廃止されmavenCentralに移行する必要があるようだが、jcenterの廃止が少し延長されたので何とかなった。もし廃止されてたらさらに面倒なことになりそうなエラーメッセージが出ていた気がする。