首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用android函数的可能性

问调用android函数的可能性
EN

Stack Overflow用户
提问于 2022-09-29 15:50:03
回答 1查看 69关注 0票数 0

我已经从我下载的安卓应用程序中提取了.so本地JNI库。

我有以下问题:

  1. 如果JNI是为x86编译的,是否可以(以某种方式)从linux上的C代码调用库中的函数?

  1. 如果JNI是为x86编译的,那么是否可以(以某种方式)从linux (而不是android)库执行函数?

  1. 可以从我的安卓应用程序中调用.so功能,而不仅仅是从最初的应用程序调用函数吗?另一种表达问题的方法是:一般情况下,是应用程序与其JNI库?

之间的依赖关系。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-09-30 07:37:04

是的,您可以将JNI库移植到不同的环境中。您只需使用加载库的自定义类启动JVM。然而,有一些非常重要的注意事项:

  • 库的架构必须与JVM的体系结构相匹配。因此,您需要一个32位的intel JVM.
  • ,JNI库链接到的任何本机库也必须存在。它们的JNI库所依赖的dependencies.
  • any Java类也必须存在于您的新环境中。您可以提供自己的实现或“获取”原始实现。如果库使用Android特定的Java类.

,这将主要是一个问题。

理论上,如果不运行JVM,所有这些都是可能的,但是无论如何,您将重新实现JVM的很大一部分,因此不值得为此付出麻烦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73898372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档