我想创建一个在Android上运行并使用Raw Sockets的应用程序。我看到java.net。*或android.net。*库中没有任何原始套接字支持。 Android上的原始套接字是否可用?
答案 0 :(得分:9)
任何Java或Android库都不支持正确的原始套接字,部分原因是(我引自here):
据信这样的包装 会降低当前的Java 安全模型可能很难 在非操作系统中实现 (OS)依赖时尚。
有第三方库,如RockSaw或JSocket,但这些都需要编译C或C ++,所以你在那里运气不好。
另外,我认为您需要root访问才能使用原始套接字。
所以,尽管如此,我会说技术上可行,但目前还不实用。
答案 1 :(得分:0)
我已经能够使用在QPython应用程序下运行的Python在有根电话上使用原始套接字。有点笨拙,如果脚本尚未以root用户身份运行,但脚本会使用“ su”重新调用自身,但可以使用。
答案 2 :(得分:-7)
为什么不使用Android进程间通信,例如:
AIDL, 意图, 广播等
例如,请参阅http://developer.android.com/guide/topics/fundamentals/services.html。 他们使用内部原始套接字