我刚刚收到并阅读了来自Google Play的通讯,其中提到,从明年起,商店“将要求新的应用程序和本地库的应用程序更新除了32位版本之外,还提供64位版本”。
对于那些还没有读过它的人,它说:
2019年64位支持需求 在Android5.0中引入了对64位架构的平台支持。如今,超过40%的Android设备都有64位的支持,同时仍然保持着32位的兼容性。对于使用本机库的应用程序,64位代码通常提供更好的性能,附加寄存器和新指令。 由于预计未来的Android设备只支持64位代码,游戏控制台将要求新的应用程序和带有本地库的应用程序更新除了32位版本之外,还提供64位版本。这可以是在单个APK中,也可以作为发布的多个APK之一。 我们不会取消32位的支持。谷歌Play将继续支持32位应用程序和设备。不包含本机代码的应用程序不受影响。 这一改变将于2019年8月生效。我们今天提供提前通知,让那些还不支持64位的开发人员有足够的时间来规划过渡。请继续关注未来的一篇文章,我们将深入了解Android上64位本地库的性能优势,并查看NDK的CPU和体系结构指南以获得更多信息。
在适用的情况下,我们需要作出哪些实际的改变才能完全遵守这一新的要求?
发布于 2019-02-01 06:57:05
根据谷歌游戏团队发送的一封官方电子邮件,要求采取的行动是:
如果你还没有,我们鼓励你开始工作的64位要求尽快。许多应用程序完全是用非本地代码编写的(例如Java编程语言或Kotlin),不需要修改代码。 请注意,我们并没有改变我们的32位支持政策.Google将继续向32位设备提供32位本地代码的应用程序。这意味着这些应用程序也需要64位版本。 为了帮助您进行转换,我们准备了文档,介绍如何检查您的应用程序是否已经支持64位,以及如何使64位兼容。 我们还提供了一个较高的时间线。
因此,相关文件解释说:
如果您的应用程序只使用用Java编程语言或Kotlin编写的代码,包括任何库或SDKs,那么您的应用程序已经为64位设备做好了准备。如果您的应用程序使用任何本地代码,或者您不确定它是否使用,您将需要评估您的应用程序并采取行动。 ..。 检查64位库的最简单方法是检查APK文件的结构。当构建APK时,APK将与应用程序所需的任何本地库一起打包。本机库基于ABI存储在各种文件夹中。它不需要支持每一个64位架构,但是对于您支持的每个本地32位架构,您必须包括相应的64位架构。 对于ARM架构,32位库位于armeabi-v7a中。64位等价物是arm64-v8a。 对于x86体系结构,查找32位的x86和64位的x86_64。 首先要做的是确保在这两个文件夹中都有本机库.
此外,要构建64位库,基本上需要遵循以下说明:
大多数Android项目使用Gradle作为底层构建系统,因此本节适用于这两种情况。为您的本机代码启用构建非常简单,根据您希望支持的体系结构,将arm64-v8a和/或x86_64添加到应用程序'build.gradle‘文件中的ndk.abiFilters设置中: //应用程序的build.gradle应用插件:'com.android.app‘android { compileSdkVersion 27 defaultConfig { appId“com.google.example.64位”minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0“ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64’/.
最后,一个简短的说明:
64位版本的应用程序应该提供与32位版本相同的质量和功能集。
顺便说一句,这段官方录像谈到了一点。
发布于 2018-02-02 16:05:45
如果您没有本机(NDK)代码,也就是说您只编写Java/Dex代码,那么您不需要做任何事情。
如果您有本机代码(或库),则需要提供它们的64位版本。
发布于 2019-03-05 11:11:56
根据文档这里,如果您的应用程序正在使用本机代码或外部库,例如,基于本机的领域(如下图),则应该提供对64位的支持。如果应用程序中使用任何C/C++ (本机)的任何外部库都应该同时支持32位和64位的体系结构,那么您应该与库所有者联系。在Android中,我们可以通过Build > Analyze 检查这两种架构的版本是否可用,并出现以下窗口:

如果您正在使用NDK并创建本机代码,则应将所有体系结构登记为:
defaultConfig {
ndk.abiFilters = 'armeabi-v7a' 'arm64-v8a' 'x86' 'x86_64'
}https://stackoverflow.com/questions/48549563
复制相似问题