この記事を読むのに必要な時間:およそ 1 分
2018年からセキュリティとパフォーマンス向上を目的にPlayストアの変更を実施
12月19日,Googleは,アプリのセキュリティとパフォーマンスを将来にわたり向上することを目的として,Playストアの方針変更を発表しました。
方針には,アプリで使われているネイティブライブラリの64bit対応も含まれています。32bit対応が打ち切られることはありませんが,示された時点で64bit対応が必須となっているので,Playストアを通じてアプリを配布している開発者に対して,必要な対応準備を行うように呼びかけています。
発表された方針は以下です。
- 2018年8月以降で新しくリリースされるアプリは,APIレベルをその年の最新版に切り替える必要がある。既存のアプリは,2018年11月までに対応する必要がある。
- 2019年8月以降のリリースまたはアップデートされるアプリで,NDKを使って開発されたライブラリを含むアプリは64bit版を用意する必要がある。
- 2018年前半から,正規ルートで配布されたことを示すメタデータをAPKに追加する必要がある。
64bit対応の義務化は,NDKを使って開発されたネイティブライブラリを含むアプリが対象で,ネイティブライブラリを含まないアプリ関係がありません。
Googleによれば,40%以上の端末が32bitとの互換性を維持しながら,64bitをサポートしていると示しています。移行のタイミングでは,32bitと64bitの両方をサポートする必要性が考えられます。しかし,現行で発売されているY!mobileのHTC製のAndroid One 端末は,搭載CPUがSnapdragon 660で64bitに対応しており,64bit対応のみで良くなるのは,そう遠い未来ではなさそうです。
OSは64bit対応済み
Android 5.0 Lolipop以降では,64bitプロセッサへの対応が行われており,Kernelはもちろんのこと多くのプロセスが64bit化されて動作しています。また,アプリを実行するランタイムのARTも64bit対応が行われています。よって,ネイティブライブラリを含んでいないアプリは,現状でも64bitで動作しているといえます。
方針の施行後,即座に32bitライブラリをアプリが動作しなくなるわけではありませんが,将来,32bitライブラリを含むアプリのサポートを終了することで,OSをより簡素化することが狙いだと考えられます。
Androidは,古いアプリでも行儀良く開発していれば最新OSで動作します。この互換性の高さはAndroidの素晴らしいところですが,これが進化を妨げている可能性があります。今回の措置がうまく進めば下位互換を気にする必要が無くなります。その成果として,今後リリースされるOSがより軽量なものになったり,新機能の追加が容易になって多くの機能が追加される可能性が考えられます。また,新バージョンOSの浸透も早くなるはずです。
一時的には,ユーザー側に混乱が発生したり,開発者にはサポート端末の再検討が必要になるなど負担を強いることになりますが,これよりも得られるメリットは大きいはずです。
セキュリティメタデータの導入も期待
Playストアを通じで配布されたことを示すメタデータの付与は,ユーザーや開発者が何も手間をかける必要がないと説明されているので,セキュリティレベルを向上する意味で歓迎すべきです。この仕組みは,APK Signature Scheme v2と呼ばれ,Android 7.0 Nougatで導入済みとなっています。詳しくは,以下のページで説明されているので参照してください。
イレギュラーな使い方として,端末から目的のAPKを抜き出して,Playストアが搭載されていない端末へコピーして使う方法があります。今回のセキュリティメタデータの導入は,本来の使い方ではない行為への対策とも考えられます。可能だったことが不可能になることに対する抵抗はあると思いますが,多くのユーザーにとって不便になる話ではないので受け入れるべき内容です。
文末になりましたが,本年はこれが最後です。良いお年をお迎えください。また来年。