Клиентское приложение Android (возможно, с использованием ADB через USB) - PullRequest
1 голос
/ 02 ноября 2011

Информация о телефоне: Droid Bionic Android 2.3.4 Отладка по USB включена

Я ищу приложение для личного использования, где я могу отправить данные с клиента (на телефон) на серверное приложение (на моем компьютере), надеюсь, через USB. Единственные предложения, которые я нашел для этого с помощью Android 2.3.4, - это использовать ADB, а затем что-то делать с пересылкой TCP.

Я написал простое серверное и клиентское приложение между компьютерами, использующими порт 8001, но у меня возникают проблемы при получении клиента на моем Android для работы с серверной частью на моем компьютере. Я могу создать сокет для общения с моим компьютером (192.168.1.26, 8001), но не могу заставить его работать, потому что java на устройстве Android отличается от клиента comptuer, который я сделал. Кто-нибудь знает очень простой учебник или пример, который я могу посмотреть для простого подключения клиента к серверу? Все предыдущие примеры, на которые я смотрел, сложны.

Что касается части USB, я надеюсь, что мне удастся заставить мое приложение работать без прохождения через сеть. Я видел вещи об использовании "ADB forward tcp: port tcp: port", но я немного запутался в этом. Что я устанавливаю для IP-адреса и номера порта для сокета на клиенте, и я оставляю сервер на порту 8001? Какую команду я использую через ADB, если я не хочу использовать порт 8001?

Спасибо

Ответы [ 2 ]

5 голосов
/ 02 ноября 2011

Если вы хотите перенаправить TCP-порт 8001 на вашем компьютере на порт 8001 на телефоне, вы должны использовать эту команду:

adb forward tcp:8001 tcp:8001

Вы можете изменить порты нателефон или устройство, если это необходимо.Документация для этой команды находится здесь: http://developer.android.com/guide/developing/tools/adb.html#forwardports

Что касается того, почему это не должно работать - в вашем вопросе отсутствует некоторая информация.Это просто стандартные TCP-сокеты.Версия Java не должна иметь никакого значения, поэтому я не понимаю вашу проблему.Клиент, работающий на вашем компьютере, может быть написан на любом языке (Ruby, C ++ и т. Д.).

3 голосов
/ 05 марта 2013

Я только что закончил работу над этим приложением для приложения, которое передает видео с камеры с двух телефонов Android на мой компьютер.

Сначала запустите это на своем ПК:

adb devices

Вам следуетполучите что-то вроде этого:

xxxyyy1    device
xxxyyy2    device

Запишите приведенные серийные номера xxxyyy1 и xxxyyy2, затем выполните следующие 2 команды:

adb -s xxxyyy1 forward tcp:8001 tcp:8002
adb -s xxxyyy2 forward tcp:8003 tcp:8004

Эти 2 переадресации портов будут применяться только куказанные номера устройств, чтобы ваш ПК теперь мог обмениваться данными с устройствами независимо друг от друга.

...