Android NDK cpp库位于何处以及加载位置?

时间:2017-03-14 13:16:17

标签: android android-ndk

我有一个简单的cpp库,它返回一个字符串值。这与https://developer.android.com/studio/projects/add-native-code.html

中的相似

构建apk后,在分析之后,我看到一个lib文件夹,其中包含不同ABI的.so文件。

我的问题是:由于生成的文件包含在apk本身中,from whereto whereSystem.loadLibary(String)采取行动吗? 库文件是否在私人应用程序的文件夹中,只有在加载后才能访问应用程序?其他应用在我的应用中loadLibrary后是否可以访问此库?它是否复制到android系统文件夹中的某个位置?

1 个答案:

答案 0 :(得分:1)

  

使用指定的库名称加载动态库。一份文件   包含本机代码是从本地文件系统加载的   通常获取库文件的位置。细节   这个过程依赖于实现。来自库的映射   特定文件名的名称以特定于系统的方式完成。

来源:https://developer.android.com/reference/java/lang/Runtime.html#loadLibrary(java.lang.String)

加载库时,不会将库复制到共享位置。加载库意味着其符号链接到本机方法。