Java应用程序调用系统中任意一个so文件的方法 大家看看是否可行?

__linux__ 2011-10-11 05:12:08
如果我想编写一个apk程序,而这个apk程序要调用系统中的非JNI的so文件的某些内容。目前,使用Java程序调用系统中非JNI的so文件中的内容,好像只有Java——>系统中的JNI so——>系统中的非JNI so文件,这一种方法吧?那么,apk程序就无法做到可以任意调用系统中的任何一个so文件。

也就是说,java程序要调用系统中的非JNI的so文件中的东西,必须要通过系统中的JNI so文件作为过渡。再换句话说,如果系统中的非JNI的so文件,如果没有某个带JNI的so文件作为桥梁,java程序就没有任何办法调用到它的内容。我的理解是否正确?

刚刚想到了一种新方法来绕过这个JNI的so,不知道是否可行。我不使用系统中自带的JNI so文件做桥梁,用别人的桥限制太多,太麻烦。我可以使用C++自己编一个JNI so文件,让这个so调用系统中的非JNI的so。然后把我自己编写的这个JNI so打包到我的apk中。相当于我自己搭了一座新桥,这样不就实现了apk程序直接调用系统中任意一个so文件的功能了吗?
...全文
1951 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonuery 2013-12-30
  • 打赏
  • 举报
回复
这个是可行的,已经有人实现过了,通过自己写的.so文件,在java层通过JNI去调用就行了 http://bbs.csdn.net/topics/380226107?page=1#post-396461583
yuliu312832473 2013-03-13
  • 打赏
  • 举报
回复
明显不行嘛 要那样 你的java应用层就成了fromwork层了
__linux__ 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 peijiangping1989 的回复:]
期待楼主实验,可是理想和现实的差距你懂的。
[/Quote]
这样不可以吗?能否说一下原因?
小裴同学 2011-10-12
  • 打赏
  • 举报
回复
期待楼主实验,可是理想和现实的差距你懂的。
__linux__ 2011-10-12
  • 打赏
  • 举报
回复
可以在apk中自己用c语言编写几个so库,然后让这些so库在c语言层面直接调用系统so库(/system/lib下的so库),就可以了。最后只需要把这几个自己编写的so库打包进apk,就ok了。

这样,调用顺序相当于这样:java应用程序——>自己编写的JNI——>自己编写的so库——>系统so库,也就是说,apk应用程序可以绕过google提供的framework层,自然也不需要再进一步经过官方的JNI了,可以直接调用到system/lib下的系统so库,如下图所示:



这样,就绕开了google官方framework层对我们的限制,apk应用程序可以直接任意调用系统中C/C++层的任意so文件了。虽然没有试验过,但理论上应该是可以实现的吧。
内容概要:本书《Deep Reinforcement Learning with Guaranteed Performance》探讨了基于李雅普诺夫方法的深度强化学习及其在非线性系统最优控制的应用。书提出了一种近似最优自适应控制方法,结合泰勒展开、神经网络、估计器设计及滑模控制思想,解决了不同场景下的跟踪控制问题。该方法不仅保证了性能指标的渐近收敛,还确保了跟踪误差的渐近收敛至零。此外,书还涉及了执行器饱和、冗余解析等问题,并提出了新的冗余解析方法,验证了所提方法的有效性和优越性。 适合人群:研究生及以上学历的研究人员,特别是从事自适应/最优控制、机器人学和动态神经网络领域的学术界和工业界研究人员。 使用场景及目标:①研究非线性系统的最优控制问题,特别是在存在输入约束和系统动力学的情况下;②解决带有参数不确定性的线性和非线性系统的跟踪控制问题;③探索基于李雅普诺夫方法的深度强化学习在非线性系统控制的应用;④设计和验证针对冗余机械臂的新型冗余解析方法。 其他说明:本书分为七章,每章内容相对独立,便于读者理解。书不仅提供了理论分析,还通过实际应用(如欠驱动船舶、冗余机械臂)验证了所提方法的有效性。此外,作者鼓励读者通过仿真和实验进一步验证书提出的理论和技术。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧