我有一组用API 19和NDK rev 17的独立工具链编译的C/C++库,是否可以在使用API 26(最小SDK目标19)的项目中使用这些库?还是我需要使用API 26重新编译它们?
在脚本中,make_standalone_toolchain.py要求提供–API参数,但是我不确定这是否应为项目中使用的最低API或目标API.
解决方法:
is it be possible to use these librarIEs on a project that uses API 26 (min SDK target 19)?
是的,有可能,但是可能并不理想.从下面的android-ndk-r17c / platforms结构中可以看出:
androID-ndk-r17c包含您的项目最低API级别19,并且此API级别仅包含两种架构,即arm和x86.这意味着您的所有编译将分别引用并链接到arch-arm或arch-x86内部的那些库.请注意,它们是32位ABI.将来,如果您必须包括64位ABI,例如x86_64或arm64,我认为您至少需要使用–API 21重新编译本机代码(因为API 21之后,NDK开始支持64位ABI).
如果使用有问题的本机共享库的androID项目是使用minSdkVersion 21或更高版本21编译的,我建议您使用带有–API 21的独立工具链来编译本机代码.因为没有设置–API 19的附加值.
参考文献:
> Ensure that your app supports 64-bit devices
> Standalone Toolchains
以上是内存溢出为你收集整理的Android NDK-使用通过不同API级别编译的库全部内容,希望文章能够帮你解决Android NDK-使用通过不同API级别编译的库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)