如何在Android中使用C程序来提供127.0.0.1版的API?

如何在Android中使用C程序来提供127.0.0.1版的API?,android,c,cordova,Android,C,Cordova,我知道一个用C编写的开源项目,它编译为Linux、Windows、OSX、iOS和Android的系统可执行文件 在Linux/Windows/OSX上,它可以通过/example\u program或C:\>execample\u program.exe执行,并通过以下示例开始为其API提供服务: 在桌面平台上,GUI应用程序可以使用此API 我需要知道如何在Android上实现这一点 我知道在安卓adb shell上,我们可以执行su,然后运行安卓编译的可执行程序,然后可能使用安卓网络浏览器

我知道一个用C编写的开源项目,它编译为Linux、Windows、OSX、iOS和Android的系统可执行文件

在Linux/Windows/OSX上,它可以通过
/example\u program
C:\>execample\u program.exe
执行,并通过以下示例开始为其API提供服务:

在桌面平台上,GUI应用程序可以使用此API

我需要知道如何在Android上实现这一点

我知道在安卓
adb shell
上,我们可以执行
su
,然后运行安卓编译的可执行程序,然后可能使用安卓网络浏览器打开HTML GUI并使用它。但是,我想情况不应该是这样

可执行文件不需要任何根用户或超级用户权限。如果运行可执行文件,则使用有限的用户帐户运行该可执行文件,并且程序开始在
127.0.0.1
上提供API

作为替代方案,我听说Android可以使用Cordova包装器在其中包含这个Android编译的可执行文件,当Android应用程序启动时,应用程序可以触发在后端执行这个Android可执行文件。但是,我目前还不确定这种方法是否有效,或者会有什么挑战。这可能需要测试

我听说的另一种方法是将此C代码编译为库。我不知道在这个项目中要做什么C编码,也不知道要把它编译成Android库需要做什么修改。无论如何,如果有人帮我把Android的C代码编译成一个库,有人能告诉我Android应用程序是如何调用这个库的,它的行为方式和桌面平台上的完全一样吗?就像执行可执行文件一样,它开始在127.0.0.1:7778上提供API


> P/> P>高级别,可以在Android应用程序中使用Android NDK运行C或C++代码:

“它的行为是否与它在桌面平台上的行为完全相同”是未知的,因为我不知道关于这个库的任何细节。如果它是一个简单的web服务,那么它很可能会工作


关于设计决策,我不想谈这些,只想了解C代码可以在Android上运行,然后让熟悉Android和/或NDK的人确定使用代码的最佳方式。

“我不知道C代码”-因此,如果你想编写/移植C程序,必须先学习语言。找一本初级C语言书,学习基础知识,做一些简单的练习,而不需要先联网。然后学习如何在Linux上进行网络连接。在你了解了所有这些之后,了解Android的不同之处。从项目管理的角度来看,我不一定需要学习C。我只需要了解可能性并雇佣开发人员。@Satiner你完全错了,如果这不是你的工作或技术方面的责任,那么就把它留给开发人员吧。如果这是你的责任,那么你必须适度了解things@satinder当前位置这种态度是破坏项目的好办法。我见过足够多的项目经理,他们不知道他们想要决定的事情。这加剧了开发人员的不满,他们不得不证明对每个开发人员来说显而易见的事情是正确的。作为一名临时项目经理,我强烈建议重新考虑你的立场。你们都没有给我任何相关的答案。我将等待与原始问题相关的一些答案。谢谢您的回答。C程序是github上提供的开放源代码,它可以充当lite比特币钱包。无需下载区块链数据库。我看到安卓已经支持Electrum和类似的钱包,所以我知道安卓肯定可以使用它。这是一个相当复杂的C代码,这就是为什么我不能说它需要做哪些更改。这就是为什么在我要求一些专家开发人员在Android上工作之前,我需要一些专家的建议。不熟悉该库,但有一个提交寻址Android和编译说明:是的,这是我关于如何为Android编译它的文档。我为android编写了它,但后来我觉得如何将它包含在android应用程序中,这就是NDK的用武之地。它将允许您从Java代码中调用C函数。谢谢@Christopher:)