当前位置: 首页 > article >正文

Android App引用vendor编写的jni动态库

        简单描述一下,就是我自己基于FastDDS写了一个Jni的so,然后编写了jar包引用该so,最后写了一个Android的测试apk使用jar包,调用jni中的接口去创建Participant,Subscriber等。

        实际将jni的so放到 /system_ext/lib64,将jar包放到 /system/framework后,安装测试Apk,运行的时候报错,提示无法加载jni动态库:

AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "/system_ext/lib64/dds_lcb_jni.so" needed or dlopened by "/apex/com.android.art/lib64/libnativeloader.so" is not accessible for the namespace "classloader-namespace"

         经过DS查询,找到错误原因,是需要将jni动态库加到公共库列表文件中,列表文件的位置在

system/core/rootdir/etc/public.libraries.android.txt

        将so的文件名添加到文件末尾,然后打包编译,烧写镜像后,可以在设备的/system/etc目录下确认public.libraries.txt文件中是否修改成功

http://www.lryc.cn/news/2398881.html

相关文章:

  • React从基础入门到高级实战:React 核心技术 - 错误处理与错误边界:构建稳定的应用
  • 页面输入数据的表格字段(如 Web 表单或表格控件)与后台数据库进行交互时常用的两种方式
  • 碰一碰发视频-源码系统开发技术分享
  • C++学习过程分享
  • C语言 — 动态内存管理
  • 《TCP/IP 详解 卷1:协议》第5章:Internet协议
  • C#面向对象实践项目--贪吃蛇
  • 学习STC51单片机26(芯片为STC89C52RCRC)
  • Web前端为什么要打包?Webpack 和 Vite 如何助力现代开发?
  • Nginx详解(三):ngx_http_rewrite_module模块核心指令详解
  • C++ 建造者模式:简单易懂的设计模式解析
  • 【笔记】在 MSYS2(MINGW64)中正确安装 Poetry 的指南
  • IDEA项目推送到远程仓库
  • DeepSeek 赋能 NFT:数字艺术创作与交易的革新密码
  • 【后端架构师的发展路线】
  • matlab/simulink TLC语法基础练习实例
  • MAU算法流程理解
  • 蓝桥杯国赛训练 day1
  • ESP32之Linux编译环境搭建流程
  • Linux 软件安装方式全解(适用于 CentOS/RHEL 系统)
  • QT- QML Layout+anchors 布局+锚点实现窗口部件权重比例分配
  • UE5打包项目设置Project Settings(打包widows exe安装包)
  • Python中os模块详解
  • 便捷高效能源服务触手可及,能耗监测系统赋能智能建筑与智慧城市
  • Kotlin List 操作全面指南
  • C++--范围for循环详解
  • ISO18436-2 CATII级振动分析师能力矩阵
  • deepseek问答:torch.full() 函数详解
  • dvwa4——File Inclusion
  • MYSQL 高级 SQL 技巧