今年8月起Google Play应用程序必需提供64位元版本

为了加速Android应用程序升级至64位元,Google释出升级时间表,从2019年8月1日开始,Google Play上所有新的应用程序与更新都需要提供64位元版本,在2021年,Google Play将不再为64位元装置提供非64位元应用程序。
Google从Android 5.0 Lollipop就开始支援64位元CPU,在2017年就曾对外释出应用程序原生程式码需要提供64位元版本的讯息,而现在Google给出明确的时间表,最快在2021年将全面在64位元装置上禁用非64位元应用程序。Google表示,对大多数开发人员来说,应用程序移植到64位元上很直觉,而且由于许多应用程序使用Java或Kotlin非原生程式码撰写,这些应用程序则不需要为此进行更改。
有三类应用程序需要注意,第一是使用C或C++撰写的应用程序,第二种是使用第三方原生函式库开发的应用程序,第三种则是使用原生函式库的第三方应用程序建置器,所建置的应用程序。Google提到,最简单检查64位元函式库的方法,就是查看APK档案结构。
在建置时,APK会与应用程序需要用到的原生函式库打包在一起,而原生函式库会基于ABI被储存在不同的资料夹。开发者要检查APK或是App Bundle是否存在原生程式码,可以使用APK Analyzer检查.so档案,确定这些档案是由自己的程式码建置产生,还是由使用的SDK或函式库输入,如果APK中不包含任合.so档案,则该应用程序符合64位元标准。
当应用程序存在原生程式码,则需要对其启用64位元架构并且重新建置原生程式码,开发者应该要升级所有的SDK与函式库到64位元相容版本。而为了帮助开发者,Google正与顶级函式库开发者合作,以实现64位元相容性。
而对于游戏开发者来说,目前最流行的三种游戏引擎包括2015年之后的Unreal和Cocos2d,以及2018年之后的Unity,都已经提供64位元相容性。Google提到,他们理解移植第三方游戏引擎是一个费时的过程,而且因为Unity一直到2017.4和2018.2版本才开始支援64位元,因此Google将特别宽容使用Unity 5.6或更早版本的游戏,自动扩展时间限制至2021年8月。
Google也提醒,SDK的开发者应该尽快更新到64位元,以方便应用程序开发者有时间能够使用与测试新的SDK。另外,应用程序不需要支援每一种64位元架构,但是对于开发者支援的每一种原生32位元架构,开发者需要有相对应的64位元架构。
因此除了使用Unity 5.6或是更旧版本游戏引擎开发的游戏之外,从2018年8月1日开始,所有包含原生程式码的新应用程序以及应用程序更新,在发布到Google Play上时,除了32位版本都需要额外提供64位元版本。而从2021年8月1日开始,Google Play将不再为64位元装置,提供非64位元版本的应用程序,而这包括以Unity 5.6或是更旧版本游戏引擎开发的游戏。
不过,这个限制不包括那些明确针对Wear OS或Android TV开发的应用程序,而不支援Android 9 Pie或更新版本的APK或App Bundle也同样不在此限。Google表示,对于支援32位元的政策并未改变,Google Play仍然会为32位元装置提供32位元应用程序。
