Сырые сокеты на Android

Я хочу создать приложение, которое работает на Android и использует Raw Sockets. Я вижу, что в библиотеке java.net. * Или orroid.net. * Нет поддержки сокетов. Возможны ли исходные сокеты на Android?

Ответ 1

Правильно, сырые сокеты не поддерживаются ни в каких библиотеках Java или Android, отчасти потому, что (я цитирую здесь):

считается, что такой пакет будет деградировать текущую Java и может быть трудно реализовать в нерабочей системе (OS).

Существуют сторонние библиотеки, такие как RockSaw или JSocket, однако они требуют компиляции C или С++, поэтому вам там не повезло.

Кроме того, я считаю, что вам нужен root-доступ для использования сырых сокетов.

Итак, со всем этим, я бы сказал, технически это возможно, но не практично в это время.

Ответ 2

Насколько я знаю, это невозможно на Android. Не в java и c/С++ из-за соображений безопасности (я думаю), единственное возможное решение - через хак с доступом root. Я искал способ, но ничего не нашел.

Ответ 3

Я смог использовать необработанные сокеты на рутированном телефоне, используя Python, работающий под приложением QPython. Это немного неуклюже, скрипт повторно вызывает себя с "su", если он еще не запущен от имени root, но работает.

Ответ 4

Почему бы не использовать коммуникацию между Интернетом, например:

AIDL, Намерение, Трансляция и т.д.

См. http://developer.android.com/guide/topics/fundamentals/services.html, например. Они используют внутренние разъемы