2016-12-15 61 views
-2

我知道一个开源项目,在C语言编写的,它作为编译系统执行支持Linux,Windows,OS X,iOS和Android。如何在Android中使用C程序来从127.0.0.1提供API?

在Linux/Windows的/ OSX可以只是./example_programmC:\>exeample_program.exe执行并开始投放的API通过http://127.0.0.1:port_number,例如:在桌面平台上这个API可以通过GUI应用程序使用http://127.0.0.1:7778

我需要知道如何可以在Android做什么?

我知道的Android adb shell我们可以做su然后运行android编译的程序可执行文件,然后可能使用从android web浏览器打开HTML GUI并使用它。但是,这不应该是我想的情况。

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

由于和替代听说的Android既可以使用科尔多瓦包装包括这个机器人在其编译的可执行文件和Android应用程序启动时,应用程序可以触发后台执行该机器人可执行文件。但是,目前我并不确定,如果这种方式行得通,或者会有什么挑战。这可能需要测试。

另一种替代方法听说是有编译为一个库这个C代码。我不知道在这个项目中完成了C编码,我不知道我需要做什么修改才能将它编译为Android库。无论如何,如果有一些帮助,我可以将此C代码编译为Android库,有人可以让我知道这个库如何被Android应用程序调用,它的行为方式与桌面平台上的行为方式完全相同?像执行可执行文件,它开始在127.0.0.1:7778服务API?

感谢您的帮助:)

+1

“我没有的C语言的表达想法” - 所以学习语言首先是强制性的,如果你想要写/端口的C程序。获得初学者的C书,学习基础知识,以一些简单的练习,而不先联网。然后了解如何在Linux上完成网络连接。在了解了所有这些信息之后,了解Android上的差异。 – Olaf

+0

从项目管理的角度来看,我不一定需要学习C.我只需要了解可能性并聘请开发人员。 – satinder

+1

@satinder你完全错了,如果它不是你的工作或技术方面的责任,那么就交给开发者吧。 如果它是你的责任,那么你必须对事情有适度的了解 –

回答

1

在高层次上,你可以使用Android NDK在Android应用程序运行C或C++代码:https://developer.android.com/ndk/index.html

无论“它的行为完全的它在桌面平台上的行为方式相同“未知,因为我不知道有关此库的任何详细信息。如果它是一个简单的Web服务,它很可能会起作用。关于做出设计决策,我会放弃这一点,只需要了解C代码可以在Android上运行的知识,然后让熟悉Android和/或NDK的人员确定使用代码的最佳方式。

+0

感谢您的回答。 C程序是github上的一个开源代码,它可以像一个精简的比特币钱包一样。而无需下载区块链数据库。我看到Electrum和这样的钱包已经在Android上支持,所以我知道肯定可以在Android上使用它。这是一个相当复杂的C代码,这就是为什么我不能说它需要做什么修改。这就是为什么我要求一些专家开发人员在Android上工作之前我需要一些专家的建议。 https://github.com/jl777/SuperNET – satinder

+0

不熟悉该库,但有一个提交的问题解决Android编译指示:https://github.com/jl777/SuperNET/commit/71f6ebdf237d8c4018c067c8bed90de6c7f542a6 –

+0

是的,这是我的文档关于如何为android编译它。我将它编译为android,但后来我觉得如何将它包含在Android应用程序中。 – satinder

相关问题