能力值:
( LV9,RANK:230 )
|
-
-
2 楼
本质上load是可以加载任意路径,已经被弃掉了,loadlib是加载data/app/lib下面的。
loadlib底层有一个nativeload的方法,直接反射调用这个方法就可以,实现和load类似 。
但是这块还有一个细节,需要传入一个classloader,每个so也有自己的classloader , 这个classloader 一般默认的都是,比如你在A.class 类里面加载,这个so的classloader就是A类的classloader . 直接使用nativeload的话,需要注意这个classloader问题,比如你在xposed里面注入的话 。
他走的就是你xposed的classloader , 你也只能反射你xposed里面的类 。可以看看我之前写的xposed去注入so,这两个函数的实现细节。
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
如果zip里的so没有压缩且4k对齐,加载后在maps里显示的就是zip路径而不是so路径。System.loadLibrary没检测出来大概率是设置了android:extractNativeLibs="false",加载后在maps中显示的就是当前apk的路径
最后于 2024-6-19 16:55
被Eirv编辑
,原因:
|
|
|