15.2.2.打包库文件
如果应用程序需要加载某个本地库,那就必须保证系统能够找到它。在Linux下,它们通常都是通过LD_LIBRARY_PATH中定义的路径找到。在Android中,这个环境变量中只包含一个路径,即system/lib。这里存在一个问题,那就是/system分区一般都是只读的,应用程序无法将自己的本地库安装到/system/lib。
为解决这一问题,NDK使用了这样的机制,那就是将本地库打包进APK文件,当用户安装含有本地库的APK文件时,系统将在/data/data/your_package/lib创建一个目录,用来存放应用程序的本地库,而不允许其它程序访问。这样的打包机制简化了Android的安装过程,也避免了本地库的版本冲突。此外,这也大大地扩展了Android的功能。