system app jni库加载路径



如果android安装在以下路径:

/system/product/priv-app/mynative/app-debug.apk

这个apk包含一个jni库:

app-debug/lib/arm64-v8a/libnative-lib.so

android加载库lib -lib.so的路径在哪里?我搜索设备,没有找到so文件。

答案可能是:"它从一开始就不在文件系统上"。

现代Android构建基础设施默认设置extractnativellibraries =false。这将使。so文件保留在APK中,而不是在您的设备上留下副本。

编辑:我做了一些源代码挖掘,Android运行时链接器可以直接从zip文件打开库,如果文件名包含!/。我认为这只是在/proc/pid/maps中显示为APK的另一个映射,但我没有调查除此之外(例如,在这种情况下如何进行重新定位或与之相关的命名空间)。

最新更新