gpt4 book ai didi

android - Android 的新 64 位要求是否意味着对于具有 native 代码的应用程序,新的最低 API 级别为 21?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:52:52 25 4
gpt4 key购买 nike

考虑以下几点:

  • 通常,开发人员会将 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 为目标。这是正确的吗?

引用资料:

最佳答案

在我的研究过程中,我认为我找到了答案。如果这个答案有误,请随时添加更好的答案。

64 位架构的最低 API 级别为 21 是因为 Android simply did not support 64-bit before then .通过在构建脚本和/或 makefile 中使用条件语句,您可以将 64 位架构的 API 级别指定为 21,而 32 位架构的 API 级别仍然低至 16。通过这种方式,您将满足 Google 的要求,并且仍然提供与以前一样多的兼容性。这是我自己的一个脚本的 fragment :

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 - Android 的新 64 位要求是否意味着对于具有 native 代码的应用程序,新的最低 API 级别为 21?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com