是否可以在Android应用程序中包含/链接并使用为Linux构建的共享库(.so)文件?

芭蕉叶

我正在一个项目中,我需要在Android应用程序中包括NGSpice仿真库,并且当然可以使用它。

我尝试使用SWIG和Android NDK将NGSpice Windows DLL包含在我的android应用程序中,但事实证明这甚至是不可能的,因此现在我开始考虑将NGSpice构建为linux共享库

现在,我的问题是,我可以像在Android应用程序中那样使用Linux共享库进行NGSpice,还是需要以不同的方式构建才能在Android应用程序上工作。

谢谢。

克里斯·斯特拉顿

否。Android通常与传统linux有两个主要区别:

1)它使用Bionic C库和动态链接器,而不是更传统的集(例如glibc)。

2)Android通常在ARM或32位x86处理器(或在极少数情况下为MIPS)上运行,而您的桌面Linux库可能是64位或32位x86代码。

如果您构建的.so与机器的体系结构以及仿生的系统库功能和动态链接器兼容,那么它应该是可行的。

或者,如果您有兼容的体系结构但错误的libc,则可以编写自己的加载程序以工作形式将其加载到受保护设备或有根设备上的内存中,从而可以运行更传统的加载程序chroot中的linux用户空间(通常是Debian派生的)。但是,这两种方法都不容易集成到Android应用程序中-对于后者,您几乎肯定必须通过进程间通信来传递工作,并且在前一种情况下也可能会更容易。

您唯一真正认可的解决方案是使用ndk构建系统或ndk生成的“独立工具链”以及该库的当前构建系统从源代码重建该库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在android中的主机应用程序中访问android库项目“ .so”文件

来自分类Dev

在android中共享应用程序链接和apk文件

来自分类Dev

CUDA:使用单独的文件链接共享库.so

来自分类Dev

用.so文件链接

来自分类Dev

用.so文件链接

来自分类Dev

是否可以在.exe或应用程序文件中包含Mysql.Data?

来自分类Dev

android共享库中.so.12文件的不满意链接

来自分类Dev

在android ndk中链接so文件

来自分类Dev

Node.js是否适合构建大型文件共享Web应用程序?

来自分类Dev

使用 SEND 意图处理 Android 应用程序中的共享文本文件和文本

来自分类Dev

在Android应用程序中使用.so库时出错

来自分类Dev

在Linux上分发.so文件?

来自分类Dev

在Linux上分发.so文件?

来自分类Dev

是否可以为在两个不同应用程序中打开的单个文件创建实时链接?

来自分类Dev

是否可以在android中使用没有字符串资源文件的库来更改应用程序语言

来自分类Dev

使用Autotools生成.so文件

来自分类Dev

编译后更改Linux共享库(.so文件)的版本

来自分类Dev

是否可以在启动服务数据库中查询将打开任意文件或UTI类型的应用程序?

来自分类Dev

如何检查Yii2应用程序中的Web进程是否可以写入sqlite数据库文件?

来自分类Dev

C ++链接到makefile中的.so文件

来自分类Dev

分发带有.so文件的应用程序?

来自分类Dev

部署Android应用程序时,Java断言是否始终包含在二进制文件中?

来自分类Dev

如何使用.so文件运行C程序

来自分类Dev

使用共享库在Ubuntu上部署Qt应用程序二进制文件

来自分类Dev

在Android Studio中使用.so文件

来自分类Dev

ffmpeg库针对.so文件进行编译(libavutil.so,libavcore.so,libavcodec.so等)

来自分类Dev

在Service Fabric中,是否可以使用“应用程序参数”更改ServiceManifest.xml文件中的参数?

来自分类Dev

共享对象(.so)文件postgresql的权限被拒绝

来自分类Dev

当Linux应用程序找不到.so文件时,我该怎么办?

Related 相关文章

  1. 1

    无法在android中的主机应用程序中访问android库项目“ .so”文件

  2. 2

    在android中共享应用程序链接和apk文件

  3. 3

    CUDA:使用单独的文件链接共享库.so

  4. 4

    用.so文件链接

  5. 5

    用.so文件链接

  6. 6

    是否可以在.exe或应用程序文件中包含Mysql.Data?

  7. 7

    android共享库中.so.12文件的不满意链接

  8. 8

    在android ndk中链接so文件

  9. 9

    Node.js是否适合构建大型文件共享Web应用程序?

  10. 10

    使用 SEND 意图处理 Android 应用程序中的共享文本文件和文本

  11. 11

    在Android应用程序中使用.so库时出错

  12. 12

    在Linux上分发.so文件?

  13. 13

    在Linux上分发.so文件?

  14. 14

    是否可以为在两个不同应用程序中打开的单个文件创建实时链接?

  15. 15

    是否可以在android中使用没有字符串资源文件的库来更改应用程序语言

  16. 16

    使用Autotools生成.so文件

  17. 17

    编译后更改Linux共享库(.so文件)的版本

  18. 18

    是否可以在启动服务数据库中查询将打开任意文件或UTI类型的应用程序?

  19. 19

    如何检查Yii2应用程序中的Web进程是否可以写入sqlite数据库文件?

  20. 20

    C ++链接到makefile中的.so文件

  21. 21

    分发带有.so文件的应用程序?

  22. 22

    部署Android应用程序时,Java断言是否始终包含在二进制文件中?

  23. 23

    如何使用.so文件运行C程序

  24. 24

    使用共享库在Ubuntu上部署Qt应用程序二进制文件

  25. 25

    在Android Studio中使用.so文件

  26. 26

    ffmpeg库针对.so文件进行编译(libavutil.so,libavcore.so,libavcodec.so等)

  27. 27

    在Service Fabric中,是否可以使用“应用程序参数”更改ServiceManifest.xml文件中的参数?

  28. 28

    共享对象(.so)文件postgresql的权限被拒绝

  29. 29

    当Linux应用程序找不到.so文件时,我该怎么办?

热门标签

归档