AndroidX が minSdkVersion 19 に移行

AndroidX ライブラリは、2023 年 10 月のリリースから、サポートされるデフォルトの最小 Android API レベル 19 (以前は 14) に移行します。Play ストアのチェックイン データによると、ほぼすべての Android ユーザーが API 19 以降のデバイスを使用しているため、API レベル 19 ではなくなりました。レガシーバージョンをサポートするために必要です。この変更は、AndroidX ライブラリがアプリ開発者の潜在的なユーザー数を最大化し、Google Play ServicesおよびAndroid NDKと連携するのに役立ちます。

現在、より低い minSdkVersion をサポートしている場合は、その値を 19 に増やし、以前のバージョンをサポートするようにコードをクリーンアップすることをお勧めします。ビジネス上の理由でそれができない場合は、AndroidX の以前のバージョンを使用し続けることをお勧めします。


👉 Android Developers Blog: AndroidX moving to minSdkVersion 19 hatena-bookmark

「API レベル 19」てのは、「Android OS 4.4 / Kitkat」です。

10年前ぐらいにリリースされました。


2023-10-17
+-----+------+--------------+-------+-------+----------+----------+
| API |   OS | CODE_NAME    |  WW % |  JP % | WW SUM % | JP SUM % |
+=====+======+==============+=======+=======+==========+==========+
|  19 |  4.4 | KITKAT       |  0.31 |  0.27 |    99.70 |    99.63 |
+-----+------+--------------+-------+-------+----------+----------+
|  21 |  5.0 | LOLLIPOP     |  0.43 |  0.22 |    99.39 |    99.36 |
+-----+------+--------------+-------+-------+----------+----------+
|  22 |  5.1 | LOLLIPOP_MR1 |  0.89 |  1.73 |    98.96 |    99.14 |
+-----+------+--------------+-------+-------+----------+----------+
|  23 |  6.0 | M            |  1.48 |  1.07 |    98.07 |    97.41 |
+-----+------+--------------+-------+-------+----------+----------+
|  24 |  7.0 | N            |  1.81 |  1.78 |    96.59 |    96.34 |
+-----+------+--------------+-------+-------+----------+----------+
|  25 |  7.1 | N_MR1        |  0.52 |  0.50 |    94.78 |    94.56 |
+-----+------+--------------+-------+-------+----------+----------+
|  26 |  8.0 | O            |  3.07 |  2.94 |    94.26 |    94.06 |
+-----+------+--------------+-------+-------+----------+----------+
|  27 |  8.1 | O_MR1        |  2.50 |  0.78 |    91.19 |    91.12 |
+-----+------+--------------+-------+-------+----------+----------+
|  28 |  9.0 | P            |  7.01 | 10.43 |    88.69 |    90.34 |
+-----+------+--------------+-------+-------+----------+----------+
|  29 | 10.0 | Q            |  9.07 |  9.95 |    81.68 |    79.91 |
+-----+------+--------------+-------+-------+----------+----------+
|  30 | 11.0 | R            | 18.73 | 13.09 |    72.61 |    69.96 |
+-----+------+--------------+-------+-------+----------+----------+
|  31 | 12.0 | S            | 18.93 | 19.03 |    53.88 |    56.87 |
+-----+------+--------------+-------+-------+----------+----------+
|  33 | 13.0 | T            | 34.92 | 37.75 |    34.95 |    37.84 |
+-----+------+--------------+-------+-------+----------+----------+
|  34 | 14.0 | U            |  0.03 |  0.09 |     0.03 |     0.09 |
+-----+------+--------------+-------+-------+----------+----------+

👉 Android OS version market share hatena-bookmark

もういいわな、世界でも、日本でも1%に満たないんだから。


【AndroidStudio】実行時に自動でそれまでのログを消して logcat ウインドウを開く設定

こういう設定があるのは知っているけど設定をどこでするのか毎回分からない、ので。


[Run]

  ↓

[Edit Configulations...]

  ↓

✅ [Show logcat automatically]
✅ [Clear log before launch]


✔[Show logcat automatically]
✔[Clear log before launch]

基本的にこの2つはONにしてていいと思います。


Jetpack Compose Dependency versions API-33 vs API-34

 

💻 Dependencies のバージョンがきれいに揃わない

ひとつづつ地道にバージョンを上げていったもののここまでしか上げることができない。

Jetpack Compose Dependency versions API-33 vs API-34

これ以上の安定版バージョンもすでに公開されているのだが、どうしても、

「API-33 ではこのバージョンは使えないので API-34 に上げてください」

というような SDK のバージョンアップを促されるメッセージが表示され、ビルドできない。

👉 Dependency 'androidx.emoji2:emoji2-views-helper:1.4.0' requires version 34 or later [295457468] - Visible to Public - Issue Tracker hatena-bookmark


 

💻 プロの回答

Android 14 の API 34 が完成したことにより、すべての新しい Jetpack ライブラリ リリースが API 34 でコンパイルされ始めました。つまり、アプリも API 34 でコンパイルする必要があります。targetSdk は、多くのことができるまったく異なるものであることに注意してください。


すなわち、


compileSdk 34
targetSdk 33

でビルドせろ。ということなのか。

 

💻 Android Studio Giraffe

現在の Android Studio Giraffe | 2022.3.1 では、最新のサポートする API レベルは「33」。


👉 Android Studio Giraffe | 2022.3.1  |  Android Developers hatena-bookmark

これ、34 に上げてもいいの ?

 

💻 まとめ

Jetpack ライブラリの安定版最新を使いたい場合は、

Android Studio Girrafe でなく、まだ、ベータ版の Hedgehog | 2023.1.1 を使ったほうがいいんでないの?

一見、きれいに通っているように見える。


compileSdk 34
targetSdk 34

それとも、すべて安定版のまま、我慢の開発を続けるか。

👉 JetBrains Toolbox で Android Studio の Stable/Beta/Canary が同時に管理できる? hatena-bookmark