Android NDK中静态库和共享库之间的区别?

har*_*ara 36 android android-ndk

我是Android NDK的新手,我不了解静态库和共享库之间的区别.它们是什么,何时我会选择一种类型而不是另一种?

ogn*_*ian 61

术语共享库并不适合Android的NDK,因为在许多情况下,.so库实际上并不在应用程序之间共享.最好将NDK构建的库分类为静态和动态.

每个Android应用程序都是一个Java应用程序,NDK代码的唯一入口点是将其作为动态库加载并通过JNI调用它.

静态库是已编译目标文件的归档.它们在构建时捆绑在其他库中.NDK剥离来自静态库的未使用部分代码以减小总大小.

动态库在运行时从单独的文件加载.它们可以包含它们所依赖的静态库或加载更多动态库.

因此,Android开发实际需要的是至少一个共享库,它将从Java代码调用,并作为静态库与其依赖关系链接.

  • 干净简洁..谢谢 (2认同)