如何在一个app中混合使用32和64位的.so库

发布于 2022-09-05 08:23:22 字数 585 浏览 19 评论 0

需求:我的app有两个功能需要用so库:录音和编辑pdf,当app运行在32位设备上时只能都用32位so,运行在64位设备时,我希望录音继续用32位so,编辑pdf用64位so。原因在此不解释了

实际结果:我尝试先把32位so放到jnilib,把64位so放到assets,然后开新进程 system.load动态拷贝加载64位so,报错!android不支持在一个app混合使用so,要么全部只用32位,要么只用64位so。因为在安装这个app的时候就已经确定,这个app是运行在32 or 64位的虚拟机。

我在stackoverflow提了一个问题,有个外国大牛回答了此问题,但是我不太明白他说的:“ and run a arm64-v8a executable from Java with Runtime.exec() or from C with system().” 是啥意思,大家帮我看下

https://stackoverflow.com/que...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

烟织青萝梦 2022-09-12 08:23:22

我觉得他的意思是不用JNI,直接用exec() / system()执行so文件,也就没有JNI load lib时的问题。

双手揣兜 2022-09-12 08:23:22

意思应该是使用命令行语句加载

叫思念不要吵 2022-09-12 08:23:22

有没有尝试通过System.load()函数自己指定加载哪个 so

农村范ル 2022-09-12 08:23:22

请问大神是否解决了这个问题?我现在也遇到了同样的问题,可以加个QQ或者微信聊下么?多谢多谢。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文