首页
社区
课程
招聘
[求助]AOSP中使用System.load(so); UnsatisfiedLinkError dlopen failed异常报错
发表于: 2023-6-5 11:16 6361

[求助]AOSP中使用System.load(so); UnsatisfiedLinkError dlopen failed异常报错

2023-6-5 11:16
6361

家人们 谁懂啊,求问求问 各种搜资料找不到原因
我在android AOSP中使用主线程中动态加载自己的so,也就是用方法System.load(so),64位的32位的包都加载了,都是报UnsatisfiedLinkError异常。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
E  FATAL EXCEPTION: main
           PID: 11185
 java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/xxxx.so" needed or dlopened by "/apex/com.android.runtime/lib/libnativeloader.so" is not accessible for the namespace "runtime"
           at java.lang.Runtime.load0(Runtime.java:938)
           at java.lang.System.load(System.java:1631)
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6422)
           at android.app.ActivityThread.access$1300(ActivityThread.java:230)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1969)
           at android.os.Handler.dispatchMessage(Handler.java:107)
           at android.os.Looper.loop(Looper.java:214)
           at android.app.ActivityThread.main(ActivityThread.java:7684)
           at java.lang.reflect.Method.invoke(Native Method)
           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

so的包在system/lib64/和system/lib/目录下,加载不成功还报异常,求教各位,感谢感谢!!


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 119
活跃值: (5392)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
权限导致的,要么给权限或者去掉权限校验,linker 的 is_greylisted有可加载的名单
2023-6-5 16:18
0
雪    币: 29
活跃值: (6603)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

建议直接静态链接进去,linker在dlopen时有namespace限制

最后于 2023-6-5 18:32 被不吃早饭编辑 ,原因:
2023-6-5 18:31
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
试试在这些文件下添加自己库名进去system/etc/public.libraries.txt、system/vendor/etc/public.libraries.txt
2023-6-6 08:58
0
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
New对象处 权限导致的,要么给权限或者去掉权限校验,linker 的 is_greylisted有可加载的名单
我编译了userdebug版本,也关闭了selinux,这个is_greylisted也增加了,但还是报这个异常。关键是不是每个app都报这个异常,有的就可以
2023-6-12 10:26
0
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
不吃早饭 建议直接静态链接进去,linker在dlopen时有namespace限制
嗯嗯 我是直接使用rom改配置文件,rom自己把copy so到system/lib64目录下的,应该和静态链接是一样的效果吧?
2023-6-12 10:27
0
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
wx_Zagger 试试在这些文件下添加自己库名进去system/etc/public.libraries.txt、system/vendor/etc/public.libraries.txt
嗯嗯~ 这俩文件 我都加进去了,但是卡在android 加载动画那 进不去系统,好像是系统校验不过?是我还需要改什么配置文件吗大佬
2023-6-12 10:31
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
可能需要改这个文件  system/core/rootdir/etc/ld.config.txt  可以研究下linker命名空间的规则 690K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6L8%4g2J5j5$3g2Q4x3X3g2S2L8X3c8J5L8$3W2V1i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3&6Q4x3V1k6V1L8$3y4K6i4K6u0r3j5$3!0J5k6g2)9J5c8X3q4J5j5$3S2A6N6r3g2U0N6s2g2J5k6g2)9J5c8Y4k6F1k6r3E0Q4x3V1k6D9K9h3&6C8k6i4u0Q4x3X3c8F1j5h3#2W2M7%4m8S2j5$3g2Q4x3@1k6Z5L8q4)9K6c8s2A6Z5i4K6u0V1j5$3^5`.
2023-6-12 14:59
0
游客
登录 | 注册 方可回帖
返回