Ich suche nach einer Möglichkeit für mein HTC Hero (Android 2.1), um den Inhalt meiner SD-Karte und des Telefonspeichers über das WiFi-Netzwerk wie eine normale Windows-Dateifreigabe freizugeben. Ich möchte eine App, bei der ich mein Handy nicht rooten muss, und die bereit ist, für die richtige App zu bezahlen, damit sie nicht kostenlos sein muss.
Ich denke über die Verwendung von SMB-Server nach und alles, was ich bisher gefunden habe, sind:
- SambaAndroid, für das Root-Zugriff erforderlich ist.
- androidsmb ist eine "Java-Implementierung des SMB / CIFS-Netzwerk-Datei- und Druckerfreigabeservers für Android-Geräte", die auf Google Code gehostet wird und keine Dokumentation enthält und keine Dateien veröffentlicht hat.
Ist es technisch überhaupt möglich, einen SMB-Server für Android zu entwickeln, der ohne Root-Zugriff installiert werden kann?
wi-fi
root-access
cifs
Tag
quelle
quelle
Wifi Explorer
( appbrain.com/app/wifi-file-explorer/… ) ein paar Mal verwendet und es funktioniert großartig, kein root erforderlich. Es ist jedoch kein SMB (und wahrscheinlich auch kein FTP).Antworten:
Da Ihre ursprüngliche Frage immer noch nicht beantwortet ist und ich mich auch gefragt habe, ist hier die Antwort.
Kurze Antwort: Nein, ohne root ist es nicht möglich, einen SMB-Server über die Standardports zu betreiben, damit er von Windows-PCs gefunden wird.
Lange Antwort: SMB läuft entweder auf den Ports 137-139 (UDP und TCP) mit NetBIOS oder auf neueren Systemen (ab Windows Vista) direkt auf dem TCP-Port 445, wobei im letzteren Fall die Computernamen vom LLMNR (Link-Local Multicast) aufgelöst werden Namensauflösung) Protokoll, das auf UDP-Port 5355 ausgeführt wird. Warum ist das wichtig? Apps, die nicht als Root ausgeführt werden, können nicht an nicht privilegierte Ports gebunden werden (<1024). Es ist möglich, alternative Ports für SMB zu verwenden, aber Windows ist fest verdrahtet, um nur die Standardports abzuhören. Wenn Sie Linux oder einen separaten SMB-Client für Windows verwenden, der die Verbindung zu einem Server mit einer benutzerdefinierten Portnummer ermöglicht, ist dies wahrscheinlich möglich. Aber es ist kein direkter Weg.
quelle
\\your.ip:port
... fertig wirdWährend es möglicherweise nicht möglich ist, einen SMB-Server ohne Root auszuführen oder die Portweiterleitung zu verwenden , ist es für einen ähnlichen Effekt möglich, einen WebDAV-Server ohne Root auszuführen.
Einrichten eines Android WebDAV-Servers
Auf meinem Standard-Nexus 7 habe ich den WebDAV-Server installiert , geöffnet, auf die Startschaltfläche geklickt und konnte meinen
/storage/sdcard
Ordner sofort in meinem Webbrowser unter der von der Anwendung angezeigten URL anzeigen, d. Hhttp://192.168.x.y:8080
Beachten Sie, dass Sie bei WebDAV auch die Option haben, Root (/) oder DCIM sowie SdCard als WebDAV- Root auszuwählen .
Verwenden des WebDAV-Servers über Windows Explorer
Ich habe dann
http://192.168.x.y:8080
im Windows Explorer als Netzlaufwerk gemappt und konnte auf den Inhalt meines Speicherlaufwerks zugreifen, als ob ich über MTP verbunden wäre, aber über einen Laufwerksbuchstaben.Leider ist diese Lösung unglaublich langsam.
Jeder Verzeichniswechsel dauert zwischen 6 und 20 Sekunden, ebenso wie der Zugriff auf die meisten Dateien. Sobald auf eine Datei zugegriffen wird, wird sie mit einer angemessenen Geschwindigkeit übertragen (das Kopieren einer einzelnen 42-MB-Datei in Windows Explorer dauerte ungefähr 60 Sekunden, also 700 KB / s).
Daher ist WebDAV über den Windows Explorer in der Lage, einige große Dateien herunterzuladen, deren Speicherort Sie kennen. Das Durchsuchen oder Synchronisieren eines gesamten Geräts auf diese Weise ist jedoch nicht schnell. Ich habe 1,75 GB Daten in ca. 6000 Dateien und 400 Verzeichnissen synchronisiert und es hat 10 Stunden gedauert, dh durchschnittlich ca. 50 KB / s oder 10 Dateien / Verzeichnisse pro Minute.
Verwenden des WebDAV-Servers über die Windows-Befehlszeile
Sogar von der Befehlszeile aus dauert jede Verzeichnisliste wie jeder Dateizugriff 5 bis 6 Sekunden. Das Kopieren derselben 42-MB-Datei von der Befehlszeile dauerte ungefähr 20 Sekunden, also ungefähr 2,1 MB / s.
Verwenden des WebDAV-Servers über einen Webbrowser
Die schnellste Möglichkeit für WebDAV besteht darin, Ihren Webbrowser direkt über die angegebene URL zu verwenden. Das Wechseln des Verzeichnisses dauert selten länger als eine Sekunde, und das Herunterladen derselben 42-MB-Datei aus dem Webbrowser dauerte ungefähr 12 Sekunden, also ungefähr 3,6 MB / s.
Der Nachteil der Verwendung des Webbrowsers besteht darin, dass nur das Datum angezeigt wird (keine Größe oder Typ) und keine Unterscheidung zwischen Dateien und Verzeichnissen erfolgt. Wenn eine Datei also keine Erweiterung hat (oder ein Verzeichnis dies tut), ist dies möglicherweise nicht offensichtlich Wenn Sie auf einen Link klicken, gelangen Sie zu einer anderen Webseite (für ein Verzeichnis) oder Sie starten einen Download (für eine Datei).
Vorbehalte
Standardmäßig begrenzt Windows die Größe von WebDAV-Downloads auf 50000000 Byte (47,6 MB). Dies kann jedoch durch einen Registrierungshack (
FileSizeLimitInBytes
inHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
) geändert werden, wenn Sie wissen, was Sie tun.Der WebDAV-Zugriff ist nicht sicher . Auch wenn Sie ein Kennwort für die WebDAV-Freigabe festlegen, ist die Verbindung immer noch
http
nicht hergestellthttps
und daher nicht verschlüsselt. Verwenden Sie WebDAV nur in einem sicheren WLAN-Netzwerk und aktivieren Sie den WebDAV-Server auf keinen Fall, während Sie sich in einem Internetcafé oder einem anderen ungesicherten WLAN befinden.quelle
Das Problem ist nicht der Samba-Server, sondern die Tatsache, dass Windows nur über Port 445 auf eine Samba-Freigabe zugreifen kann und eine normale App auf einem nicht verwurzelten Android-Gerät Port 445 nicht überwachen kann.
Aber Sie können dies mit einigem TCP-Port-Mapping überwinden:
Ich habe alle Schritte hier in meinem Blog http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html ausführlich beschrieben
Ich habe verschiedene Samba-Server ausprobiert und die einzige kostenlose App, die in dieser Konfiguration funktioniert, heißt Samba-Server
quelle
\\androids.ip:7777
in die Explorer-Adressleiste eingeben ?Alternativ können Sie einen FTP-Server auf Ihrem Telefon ausführen, um auf den Inhalt Ihrer SD-Karte zuzugreifen. Testen Sie SwiFTP .
quelle
Ich habe derzeit eine App ( für nicht gerootete Geräte ) zum Teilen von Dateien im lokalen Netzwerk fertiggestellt. Meine Lektionen gelernt:
quelle
Ich mag missverstehen, aber es hört sich so an, als bräuchten Sie einen SMB-Client, keinen Server. Außerdem benötigen Sie keinen Root-Zugriff. Um SMB zum Übertragen von Dateien auf Ihren Computer zu verwenden, können Sie ASTRO File Manager mit dem SMB-Addon verwenden , oder es gibt File Expert, das ebenfalls kostenlos ist.
Sie können auch WebDAV anstelle von SMB mit einer App wie WebSharing verwenden .
In der Vergangenheit habe ich eine App verwendet, mit der ich mit Client-Software auf meinem Computer Dateien über den Datei-Explorer von überall aus über das Internet übertragen konnte. Es war keine vollständige VNC-App. Ich habe ein neues Handy bekommen und jetzt, für mein ganzes Leben, kann ich die App nicht finden.
quelle