Android的新64位要求是否意味着具有本地代码的应用程序的新最低API级别为21?

前端之家收集整理的这篇文章主要介绍了Android的新64位要求是否意味着具有本地代码的应用程序的新最低API级别为21? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

考虑以下:

>通常,开发人员会将minSdkVersion设置为16,因为它覆盖了99%以上的设备(1).
>但是,从2019年8月1日起,Android将要求所有应用程序都提供64位版本(2).
>此外,NDK API级别(用-D__ANDROID_API__设置)必须等于minSdkVersion(3).
>最后,在arm64-v8a上运行的Android设备不支持低于API级别21(4)的任何设备.

我已经尝试进行研究以弄清所有这些东西是如何工作的-直到现在我一直主要通过试图建立依赖关系以将我的C库移植到Android来破解自己的方式-请原谅如果我缺少明显的东西.但在我看来,上述表明从2019年8月1日开始,使用Android NDK构建的应用程序必须将最低API级别定位为21.这是否正确?

参考文献:

> 1
> 2
> 3
> 4

最佳答案
在研究过程中,我想找到了答案.如果这个错误,请随时添加更好的答案.

64位体系结构的最低API级别为21,这是由于Android simply did not support 64-bit before then所致.通过在构建脚本和/或makefile中使用条件,您可以将64位体系结构的API级别指定为21,但仍然较低对于32位则为16.这样一来,您将可以满足Google的要求,并仍然提供与以前一样的兼容性.这是我自己的脚本之一的片段:

case "${ABI}" in
  armeabi-v7a | x86)
    API_LEVEL=16
    ;;
  arm64-v8a | x86_64)
    API_LEVEL=21
    ;;
  *)
    echo >&2 "Invalid ABI ${ABI}"
    exit 1
    ;;
esac

猜你在找的Android相关文章