Я ищу способ для своего HTC Hero (Android 2.1), чтобы я мог обмениваться содержимым моей SD-карты и памяти телефона через сеть WiFi, как обычный файловый ресурс Windows. Мне нужен тот, который не требует, чтобы я рутировал свой телефон, и готов заплатить за правильное приложение, чтобы оно не было бесплатным.
Я думаю об использовании SMB-сервера, и все, что я нашел до сих пор:
- SambaAndroid, который требует root-доступа.
- androidsmb - это «реализация Java сетевого сервера общих файлов и принтеров SMB / CIFS для устройств Android», размещенная на Google Code, которая не имеет документации и не выпустила никаких файлов.
Возможно ли технически разработать SMB-сервер на Android, который можно установить без рут-доступа?
wi-fi
root-access
cifs
День
источник
источник
Wifi Explorer
( appbrain.com/app/wifi-file-explorer/… ) несколько раз, и он отлично работает, без рута. Хотя это не SMB (и, вероятно, не FTP).Ответы:
Поскольку на ваш первоначальный вопрос до сих пор нет ответа, и я удивился тому же, вот ответ.
Краткий ответ: Нет, без рута невозможно запустить SMB-сервер, используя порты по умолчанию, чтобы он был найден на ПК с Windows.
Длинный ответ: SMB работает на портах 137-139 (UDP и TCP) с использованием NetBIOS или в более новых системах (начиная с Windows Vista и далее) напрямую через TCP-порт 445, где в последнем случае имена компьютеров разрешаются с помощью LLMNR (Link-local Multicast) Протокол разрешения имен), который работает на UDP-порту 5355. Почему это важно? Приложения, не работающие от имени пользователя root, не могут привязываться к непривилегированным портам (<1024). Можно использовать альтернативные порты для SMB, но Windows жестко привязана к прослушиванию портов по умолчанию. Поэтому я думаю, что если вы используете Linux или отдельный SMB-клиент для Windows, который позволяет подключаться к серверу с пользовательским номером порта, это, вероятно, возможно. Но это не совсем прямой путь.
источник
\\your.ip:port
...Хотя может быть невозможно запустить сервер SMB без рута или с использованием переадресации портов , возможно запустить сервер WebDAV без рута для получения аналогичного эффекта.
Настройка сервера Android WebDAV
На своем стоковом Nexus 7 я установил WebDAV Server , открыл его, нажал кнопку «Пуск» и сразу же смог увидеть свою
/storage/sdcard
папку в своем веб-браузере по URL-адресу, отображаемому приложением, т.е.http://192.168.x.y:8080
Обратите внимание, что с WebDAV у вас также есть возможность выбрать Root (/) или DCIM, а также SdCard в качестве корня WebDAV .
Использование сервера WebDAV через Windows Explorer
Затем я подключился
http://192.168.x.y:8080
как сетевой диск в проводнике Windows и смог получить доступ к содержимому накопителя, как если бы я был подключен через MTP, но через букву диска.К сожалению, это решение невероятно медленное.
Каждое изменение каталога занимает от 6 до 20 секунд, как и доступ к большинству файлов. Однако при доступе к файлу он передается с разумной скоростью (копирование одного файла размером 42 МБ в проводнике Windows заняло около 60 секунд, то есть 700 КБ / с).
Таким образом, WebDAV через Windows Explorer подходит для загрузки нескольких больших файлов, местоположение которых вы знаете, но такой способ просмотра или синхронизации всего устройства не быстрый. Я синхронизировал 1,75 ГБ данных в около 6000 файлов и 400 каталогов, и это заняло 10 часов, то есть около 50 КБ / с или 10 файлов / дисков в минуту в среднем.
Использование сервера WebDAV через командную строку Windows
Даже из командной строки каждый листинг каталога занимает 5-6 секунд, как и любой доступ к файлам. Копирование того же 42 МБ файла из командной строки заняло около 20 секунд, то есть около 2,1 МБ / с.
Использование сервера WebDAV через веб-браузер
Самый быстрый вариант для WebDAV - это использовать ваш веб-браузер напрямую через указанный URL-адрес. Смена каталога редко занимает больше секунды, а загрузка того же 42 МБ файла из веб-браузера занимает около 12 секунд, то есть около 3,6 МБ / с.
Недостатком использования веб-браузера является то, что он показывает только дату (без размера и типа) и не делает различий между файлами и каталогами, поэтому если файл не имеет расширения (или каталога), то это может быть неочевидным Если щелкнуть ссылку, вы перейдете на другую веб-страницу (для каталога) или начнете загрузку (для файла).
Предостережения
По умолчанию Windows ограничивает размер загрузок WebDAV до 50000000 байт (47,6 МБ), хотя это можно изменить с помощью взлома реестра (
FileSizeLimitInBytes
inHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
), если вы знаете, что делаете.Доступ к WebDAV небезопасен . Даже если вы установили пароль на общий ресурс WebDAV, соединение по-прежнему
http
отсутствуетhttps
, поэтому оно не шифруется. Используйте WebDAV только в защищенной сети Wi-Fi и, конечно, не включайте сервер WebDAV, пока вы находитесь в интернет-кафе или другом незащищенном Wi-Fi.источник
Проблема не в сервере samba, а в том, что Windows может получить доступ к общему ресурсу samba только через порт 445, а на некорневом андроиде обычное приложение не может прослушивать порт 445.
Но вы можете преодолеть это с помощью некоторого сопоставления портов TCP:
Я подробно описал все шаги здесь, в моем блоге http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html
Я пробовал другой сервер Samba, и единственное бесплатное приложение, которое работает в этой конфигурации, называется Samba Server.
источник
\\androids.ip:7777
в адресной строке проводника?Кроме того, вы можете запустить FTP-сервер на своем телефоне, чтобы получить доступ к содержимому вашей SD-карты. Проверьте SwiFTP .
источник
Я в настоящее время закончил приложение ( для нерутованных устройств ) для обмена файлами в локальной сети. Мои извлеченные уроки:
источник
Возможно, я неправильно понимаю, но похоже, что вам нужен SMB-клиент, а не сервер. Также вам не нужен root-доступ. Чтобы использовать SMB для передачи файлов на ваш компьютер, вы можете использовать ASTRO File Manager с надстройкой SMB , или есть File Expert, который также бесплатный.
Вы также можете использовать WebDAV вместо SMB с таким приложением, как WebSharing .
В прошлом я использовал приложение, которое с клиентским программным обеспечением позволяло мне передавать файлы через проводник из любой точки сети. Это не было полное приложение VNC. У меня новый телефон, и теперь я не могу найти приложение.
источник