我刚刚开始使用 Android NDK,我发现大多数使用 Android NDK 的开源应用程序都有针对多个 CPU 架构编译的 C++ 库。这真的有必要吗?如果是的话,是否意味着生成的 apk 将包含多次编译的 C++ 库,因此 apk 会变得相当大?如果有人尝试在没有编译库的 CPU 架构上运行该应用程序,会发生什么情况?另外,关于如何为 Android 构建 C++ 库的好教程将不胜感激。
最佳答案
没有必要将它们全部放入,但如果不这样做,则会排除此架构的设备。 apk 将包含所有二进制文件,安装程序将在安装时选择正确的二进制文件,因此不会发生针对另一个应用程序运行二进制文件的情况(除非我们正在考虑越狱设备)。
NDK 包包含构建 Android 原生代码所需的所有文档(在 docs 文件夹中)。
关于Android NDK 和 CPU 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21779779/