Jon*_*ung 6 android android-ndk android-api-levels
考虑以下:
minSdkVersion
为16,因为它覆盖了99%以上的设备(1)。-D__ANDROID_API__
)必须等于minSdkVersion
(3)。我试图进行研究以弄清楚所有这些东西是如何工作的-直到现在我一直主要通过试图建立依赖关系以将我的C ++库移植到Android来破解自己的方式-请原谅如果我缺少明显的东西。但是在我看来,上述表明从Android NDK生成的应用必须从2019年8月1日开始将最低API级别定位为21.这是否正确?
参考文献:
在我的研究过程中,我想我找到了答案。如果这是错误的,请随时添加更好的答案。
64 位架构的最低 API 级别为 21 是因为在此之前Android 根本不支持 64 位。通过在构建脚本和/或 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
Run Code Online (Sandbox Code Playgroud)