Android Q、Lollipop以前をターゲットにしたアプリの実行時に毎回警告が表示される可能性 17
ストーリー by headless
警告 部門より
警告 部門より
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をターゲットにすることが必須となるが、更新されない既存のアプリは影響を受けない。
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をターゲットにすることが必須となるが、更新されない既存のアプリは影響を受けない。
互換性 (スコア:0)
下位互換処理はバージョンの差が大きくなるほど不完全で正常に動かない例が多いので、ばっさり切り捨てても実害は殆どないと思う
Re: (スコア:0)
そのためには、回線契約と端末販売分離しないと詰みそう。
MNOだと2年縛りがあるし、MVNOの場合中古端末の流通促進言ってるけど、中古スマホなんて今回切り捨て予定のlolipopどころかkitkatすら流通や使用されてるし。
Re: (スコア:0)
その頃の世代の機種って、今中古市場にあるのは転売流れ品や補償交換ストック流れ品を除くと軒並みバッテリーが実用下限以下に劣化した「共食い向け部品取り機」のようなイメージしかないんだが…
Re: (スコア:0)
Apple「そうだぞ」
Re: (スコア:0)
Googleは期限切って最新APIをtargetにするように、というおふれをだした。もう半年以上前。
期限が来たら条件を満たしていないアプリは消せばいい。
それでもこんな嫌味なことするのはそれなりに害があるからだろう。
未対応が多すぎるんだと思う。あまりにもマーケットからアプリが消えるので強行できないから出たのがこの案だな。
Re: (スコア:0)
バッサリはまだコンセンサス難しいだろうから
互換レイヤの導入を面倒で鬱陶しくすればいいんよ
へんな警告を出すよりレイヤ導入にあたって機種照合しろ常駐物はずせガバっとパーミッション開けれと色々要求出せば
老いも若きも躊躇するってもんだ
いいことだが (スコア:0)
もう更新されなくなったアプリを愛用していると、うざいだろうな。
更新されない既存のアプリは影響を受けない (スコア:0)
本文最後に「更新されない既存のアプリは影響を受けない」って書いてあるから大丈夫では
Re: (スコア:0)
それは「Google Playでは新規公開/更新するアプリで最新APIをターゲットにすることが必須」の話で、「23未満のAPIレベルを指定したアプリで実行時に毎回警告が表示される可能性」とは別の話では?
(訂正)更新されない既存のアプリでも影響を受ける (スコア:0)
#3477173です。
すみません、原文読んできたらおっしゃるとおりで、更新の有無に関係なく、23未満のAPIレベルを指定したアプリで実行時に毎回警告が表示される可能性があるようでした。
個人開発者は (スコア:0)
業者が作ってる商用アプリはもちろん商売でやってるためにアップデートされるが、
個人が作ってる非商用アプリだとこういったのは面倒
windows10なんていまだに多くの32bitwin95アプリが普通に動くのに
Re: (スコア:0)
ビジネスでやっていたとしても、Androidのアプリ購入の課金だと、基本的にアカウント内で使いまわしになるので、
サービス側で課金するタイプのもの以外は問題なければ、開発費でなくて削除待ちになるのではないかと・・・
Re: (スコア:0)
Windowsも警告くらい出しても良いと思う。
明らかに古いから互換性が不完全でも仕方ないし。
切り捨てるのはやめて欲しいけどね。
Re: (スコア:0)
ビルドしなおすだけじゃだめなの?
あと、もうAndroidは十分普及したから、ある程度は切り捨てても問題ないと考えているんじゃないかなあ。
ライバルのAppleなんてもっとひどいわけだし。
Re: (スコア:0)
> ビルドしなおすだけじゃだめなの?
バージョン上がるとAPIの仕様がちょこちょこと変わる事があるので,たぶんダメだと思います.
ビルドを通した後,仕様変更に合わせた修正と再テストぐらいは必要になるんじゃないかと.
Re: (スコア:0)
突然あるAPIのコンストラクタがdeplectedになったりするので単純にビルドすることもできなくなります。
Pはまだ対応作業やってないから知らんけど、Oの時は通知関係が大幅に変わって書き換え必須でした。
たぶんPも色々あるでしょう。だから、みんなベータ機欲しがるんだよ。
Re: (スコア:0)
そうそう。書き換えは仕方ないと割り切ってもいいから、Pixel売ってくださいよ。