是否可以在保持向后兼容性的同时使用最新的 APP_PLATFORM?
Is it possible to use the latest APP_PLATFORM while still maintaining backward compatibility?
这是我的 Application.mk:
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16
APP_OPTIM := release
APP_STL := gnustl_static
APP_CPPFLAGS := -std=gnu++11
APP_PLATFORM
的值为 android-16 以便我们可以支持 Android OS 4.1 及更高版本。
我知道应用程序在 APP_PLATFORM
设置为 android-16
时构建良好。这意味着我没有使用任何比 android-16
更新的 Android 功能。如果我把它改成android-19
呢?由于我没有使用任何更新的 Android 功能,我认为代码在 OS 4.1 上应该仍然可以正常工作。请分享你的智慧。问候。
Bionic headers 在 android-16 和 android-19 之间没有变化(它们在 android-21 中变化很大),所以你可能是在 android-16 设备上针对 android-19 和 运行ning 进行精细编译。
但是 NDK 平台不应该向后兼容。针对比您的库 运行 更高的平台进行编译是不正确的。
所有属于 NDK 一部分的平台都得到维护并修复了错误,因此如果您不使用新功能,则没有理由针对更高的平台进行构建。
这是我的 Application.mk:
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16
APP_OPTIM := release
APP_STL := gnustl_static
APP_CPPFLAGS := -std=gnu++11
APP_PLATFORM
的值为 android-16 以便我们可以支持 Android OS 4.1 及更高版本。
我知道应用程序在 APP_PLATFORM
设置为 android-16
时构建良好。这意味着我没有使用任何比 android-16
更新的 Android 功能。如果我把它改成android-19
呢?由于我没有使用任何更新的 Android 功能,我认为代码在 OS 4.1 上应该仍然可以正常工作。请分享你的智慧。问候。
Bionic headers 在 android-16 和 android-19 之间没有变化(它们在 android-21 中变化很大),所以你可能是在 android-16 设备上针对 android-19 和 运行ning 进行精细编译。
但是 NDK 平台不应该向后兼容。针对比您的库 运行 更高的平台进行编译是不正确的。
所有属于 NDK 一部分的平台都得到维护并修复了错误,因此如果您不使用新功能,则没有理由针对更高的平台进行构建。