Android Q、Lollipop以前対象のアプリ実行時に毎回警告が表示される可能性
2018年9月9日 16:17
Android Qでは「targetSdkVersion」に23(Android 6.0 Marshmallow)未満のAPIレベルを指定したアプリで実行時に毎回警告が表示される可能性が指摘されている(XDA Developersの記事、Neowinの記事、SlashGearの記事)。 Android P Developer Previewでは「android.os.Build.VERSION」クラスに「MIN_SUPPORTED_TARGET_SDK_INT」フィールドが追加されていた。この値には「17」がセットされ、「targetSdkVersion」に17(Android 4.2 Jelly Bean)未満を指定したアプリで実行時に毎回警告が表示されるようになった。このフィールドはその後公開APIから削除されたが、ファイナル版のAndroid 9 Pieでも同様に警告が表示されるようだ。 ところが最近のAOSPのコミットで、このフィールドにセットされる値の元になる「PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION」が17から23へ仮変更されていることにXDA Developersが気付く。仮の変更ということで元に戻される可能性もあるが、古いバージョンのAPIをターゲットにしたアプリに警告を表示することで、ターゲットAPIを実行時パーミッションの導入されたAPI 23以降へ移行するよう開発者に促す狙いもあるとみられている。Google Playでは新規公開/更新するアプリで最新APIをターゲットにすることが必須となるが、更新されない既存のアプリは影響を受けない。