gpt4 book ai didi

android - JNI 与安卓?

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:09 25 4
gpt4 key购买 nike

大家好!我最近一直在研究 c++ 应用程序,它必须在 Android 2.1 和 2.2 上运行。所以我想知道我是否有完整的 c++ 应用程序,我可以将它放入 *.so 文件然后创建 android 项目并使用 System.loadLibrary(blalba.so) 简单地加载这个库;有用吗?

最佳答案

是的,您必须专门为 Android 重新编译所有 native 库。是的,您确实需要您计划使用的所有第 3 方 native 库的源代码,因为通常当我们在 Android 外部编译和链接这些库时,它们会链接到 glibc,但不幸的是,由于许可和性能问题,Android 不使用 glibc。 Android 使用 glibc 的简化版本,称为 libc。对于大多数常用功能,它具有与 glibc 匹配的符号名称。但据我所知,libc 没有一些与字符串相关的功能,而且它绝对没有一些 posix 支持。如果您的 native 库正在使用任何已弃用的功能,您将必须通过使用 libc 支持的替代功能并相应地对您的库进行编码来找到解决这些问题的方法。

此外,正如您正确指出的那样,您将必须使用 NDK 将 Java(Android 应用程序/fwk)连接到本地世界(C++)。

尽管根据我的经验,这听起来很简单,但在 Android(Android 移植)上编译 native 库历来非常耗时,而且无法保证成功。

关于android - JNI 与安卓?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com