内置应用so库无法打开问题解决

编写的内置应用,点击报错,查看log

library "/system/priv-app/FMRadio/lib/arm64/libfmjni.so" ("/system/lib64/libfmjni.so") needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/system/priv-app/FMRadio/lib/arm64:/system/priv-app/FMRadio/FMRadio.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/com.android.fmradio"]

网上查看解决办法

1. 将so库加到/bionic/linker/linker.cpp里的kLibraryGreyList列表中   无效

2. 在/system/core/libnativeloader/native_loader.cpp中的static constexpr const char* kWhitelistedDirectories = "/data:/mnt/expand";的/data:/mnt/expand值后添加system/priv-app

我的是lib64 所以添加system/lib64  >> 有用唉,还是报错

java.lang.UnsatisfiedLinkError: dlopen failed: library "libcutils.so" not found

3. 修改系统的public native lib path: /system/etc/public.libraries.txt文件,可是我是系统源码,不能每次都更改手机里的文件啊

继续找

4. 源码中 system/core/rootdir/etc/public.libraries.android.txt中添加.libfmjni.so

libandroid.so 
libaaudio.so 
libc.so 
libcamera2ndk.so 
libdl.so 
libEGL.so 
libGLESv1_CM.so 
libGLESv2.so 
libGLESv3.so 
libicui18n.so 
libicuuc.so 
libjnigraphics.so 
liblog.so 
libmediandk.so 
libm.so 
libnativewindow.so 
libOpenMAXAL.so 
libOpenSLES.so 
libRS.so 
libstdc++.so 
libsync.so 
libvulkan.so 
libwebviewchromium_plat_support.so 
libz.so
libfmjni.so 添加

ok了.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值