在Android中使用现有的Linux上创建的“.so”文件

3

我有一个在Linux(Ubuntu)上创建的.so文件,但我没有它的源代码。

我想在Android上使用同样的.so文件,这可行吗?

3个回答

3

您需要为ARM处理器编译您的库,以便在安卓手机上运行。


0
你创建的.so文件是为32位64位处理器编译的,要使其在Android上工作,您必须将其编译为arm处理器,如其他答案中所述。您可以使用Android NDK使用android工具链交叉编译您的库。您还需要根据arm处理器提供CFLAGSCPPFLAGSLDFLAGS

有人可能会认为安卓也可以在x86设备上运行。 - njzk2
@njzk2:我完全同意你的观点。我们使用--arch参数来生成特定架构的.so文件。如果要编译x86 Android或Google TV,可以使用Android NDK工具链进行编译。但在这个问题中,我认为没有提到架构。 - Nishant Rajput
没错。另外,我想知道在 x86 Android 上运行的 Linux 二进制文件(仅使用基本函数)是如何工作的。 - njzk2
我擦!我本以为基本库都差不多呢? - njzk2
是的,我不知道。这些都是你在任何类似于Linux的环境中期望找到的东西。 - njzk2

0

答案是否定的。如果你没有源代码,你不能在Android上使用它。如果你有源代码,就为ARM构建它,然后你可以使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接