gpt4 book ai didi

android - 如何知道我正在为使用 ndk-build 构建哪个 API 级别?

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:28 27 4
gpt4 key购买 nike

我试图更好地理解在使用 ndk-build 时如何选择 api 级别。

我知道我可以在 Application.mk 中显式设置 APP_PLATFORM,否则 ndk-build 将以 android:minSdkVersion list 中指示的 api 为目标,但如果我的应用程序的 list 同时包含 android:minSdkVersionandroid:targetSdkVersion,并且高于 minSdkVersion 怎么办?

ndk-build 会以 targetSdkVersion 为目标吗?我该如何检查?

如果它针对更高的 api 级别,我想我将能够使用仅适用于该级别的 native api 进行构建,但是如果我在具有较低 api 级别的设备上运行该应用程序,它应该会悲惨地失败,所以在在这种情况下,我应该实现某种 API 级别检查,对吗?

最佳答案

使用 __ANDROID_API__$NDK/platforms/android-<level>/<abi>/usr/include/android/api-level.h 中定义

#if __ANDROID_API__ >= 21
// building with Android NDK Native API level 21 or higher
posix_fadvise64(fd, ...);
#else
// building with Android NDK Native API level 20 or lower
syscall(__NR_arm_fadvise64_64, fd, ...);
#endif

关于android - 如何知道我正在为使用 ndk-build 构建哪个 API 级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660575/

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