我正在维护一个(相对)老的android应用程序,它使用ndk构建的库来实现一些功能。它最初是为ndk平台级别9而构建的。
我一直在尝试使构建基础设施现代化,作为其中的一部分,我正在使用更新的sdk和ndk版本,后者放弃了对ndk platform 9的支持(最低版本现在是16)。
不更新针对我们构建的目标ndk和/或不更新到最新的ndk平台级别(当前为28)有什么好处吗?还是在发布新ndk时更新ndk目标平台级别总是一个好主意?

最佳答案

提高ndk api级别的唯一缺点是,这相当于minSdkVersion。如果您增加minSdkVersion,则会放弃对旧设备的支持。
ndk本身只在api级别只有少量用户时才放弃对它们的支持。API级别16及以上的用户占所有用户的99%以上。如果由于某种原因,应用程序的使用数量显示姜饼或ics上有相当数量的用户,则需要坚持使用较旧的ndk来继续支持这些设备。
升级minSdkVersion的好处是,您可以访问更多的api,可以测试的配置更少(考虑到较旧的设备可能会有更多的问题,这可能会显著减少所需的工程工作量)。
正确的api级别将因应用程序而异(尽管有趣的是有一个twitter account that gives a reasonable suggestion)。检查您的使用数量,看看您的用户在哪里,并将其与支持旧版本所带来的困难进行平衡。如果你的应用程序类似于一个高保真游戏,那么果冻豆设备很可能无法以任何合理的性能运行你的应用程序,因此支持这些设备毫无意义。

10-07 19:13
查看更多