如果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的另一个映射,但我没有调查除此之外(例如,在这种情况下如何进行重新定位或与之相关的命名空间)。