Ich suche nach einer Möglichkeit für mein HTC Hero (Android 2.1), damit ich den Inhalt meiner SD-Karte und des Telefonspeichers über das WiFi-Netzwerk wie eine normale Windows-Dateifreigabe freigeben kann. Ich hätte gerne eine, bei der ich mein Telefon nicht rooten muss, und bin bereit, für die richtige App zu bezahlen, damit sie nicht kostenlos sein muss.
Ich denke darüber nach, einen SMB-Server zu verwenden, und alles, was ich bisher gefunden habe, sind:
Ist es technisch überhaupt möglich, einen SMB-Server auf Android zu entwickeln, der ohne Root-Zugriff installiert werden kann?
Da Ihre ursprüngliche Frage immer noch nicht beantwortet ist und ich mich das gleiche gefragt habe, hier ist 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 TCP-Port 445, wobei im letzteren Fall Computernamen durch die LLMNR (Link-local Multicast Name Resolution), das auf UDP-Port 5355 läuft. Warum ist das wichtig? Apps, die nicht als Root ausgeführt werden, können sich nicht an nicht privilegierte Ports (<1024) binden. Es ist möglich, alternative Ports für SMB zu verwenden, aber Windows ist fest verdrahtet, um nur auf die Standardports zu hören. Ich denke also, wenn Sie Linux oder einen separaten SMB-Client für Windows verwenden, der es ermöglicht, eine Verbindung zu einem Server mit einer benutzerdefinierten Portnummer herzustellen, ist dies wahrscheinlich möglich. Aber es ist nicht wirklich ein geradliniger Weg.
\\your.ip:port
...Während es möglicherweise nicht möglich ist, einen SMB-Server ohne Root auszuführen oder die Portweiterleitung zu verwenden , ist es möglich, einen WebDAV-Server ohne Root auszuführen, um einen ähnlichen Effekt zu erzielen.
Einrichten eines Android WebDAV-Servers
Auf meinem Stock Nexus 7 installierte ich WebDAV Server , öffnete ihn, klickte auf die Startschaltfläche und konnte sofort meinen /storage/sdcard
Ordner in meinem Webbrowser unter der von der Anwendung angezeigten URL sehen, dhhttp://192.168.x.y:8080
Beachten Sie, dass Sie bei WebDAV auch die Möglichkeit haben, Root (/) oder DCIM sowie SdCard als WebDAV -Root auszuwählen .
Verwenden des WebDAV-Servers über den Windows Explorer
Ich habe es dann http://192.168.x.y:8080
im Windows Explorer als Netzlaufwerk zugeordnet und konnte auf den Inhalt meines Speicherlaufwerks zugreifen, als wäre ich über MTP verbunden, 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 jedoch mit angemessener Geschwindigkeit übertragen (das Kopieren einer einzelnen 42-MB-Datei im Windows Explorer dauerte etwa 60 Sekunden, also 700 KB/s).
Daher ist WebDAV über Windows Explorer in Ordnung, um einige große Dateien herunterzuladen, deren Speicherort Sie kennen, aber das Durchsuchen oder Synchronisieren eines ganzen Geräts auf diese Weise ist nicht schnell. Ich habe 1,75 GB Daten in etwa 6000 Dateien und 400 Verzeichnissen synchronisiert und es dauerte 10 Stunden, dh etwa 50 KB/s oder 10 Dateien/Verzeichnisse pro Minute im Durchschnitt.
Verwenden des WebDAV-Servers über die Windows-Befehlszeile
Selbst von der Befehlszeile aus dauert jede Verzeichnisauflistung 5-6 Sekunden, ebenso jeder Dateizugriff. Das Kopieren derselben 42-MB-Datei über die Befehlszeile dauerte etwa 20 Sekunden, also etwa 2,1 MB/s.
Verwenden des WebDAV-Servers über einen Webbrowser
Die schnellste Option für WebDAV ist jedoch die Verwendung Ihres Webbrowsers direkt über die angegebene URL. Das Wechseln des Verzeichnisses dauert selten länger als eine Sekunde und das Herunterladen derselben 42-MB-Datei vom Webbrowser dauerte etwa 12 Sekunden, also etwa 3,6 MB/s.
Der Nachteil der Verwendung des Webbrowsers besteht darin, dass er nur das Datum anzeigt (keine Größe oder Art) und keinen Unterschied zwischen Dateien und Verzeichnissen macht. Wenn also eine Datei keine Erweiterung hat (oder ein Verzeichnis eine hat), ist dies möglicherweise nicht offensichtlich wenn Sie auf einen Link klicken, gelangen Sie zu einer anderen Webseite (bei einem Verzeichnis) oder starten einen Download (bei einer Datei).
Vorbehalte
Standardmäßig begrenzt Windows die Größe von WebDAV-Downloads auf 50000000 Bytes (47,6 MB), obwohl dies durch einen Registry-Hack ( FileSizeLimitInBytes
in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
) geändert werden kann, wenn Sie wissen, was Sie tun.
Der WebDAV-Zugriff ist nicht sicher . Auch wenn Sie auf der WebDAV-Freigabe ein Passwort festlegen, ist die Verbindung immer noch http
nicht https
, also nicht verschlüsselt. Verwenden Sie WebDAV nur in einem sicheren WLAN-Netzwerk und aktivieren Sie auf keinen Fall den WebDAV-Server, während Sie sich in einem Internetcafé oder einem anderen ungesicherten WLAN befinden.
Das Problem ist nicht der Samba-Server, sondern die Tatsache, dass Windows nur über Port 445 auf eine Samba-Freigabe zugreifen kann und auf einem nicht gerooteten Android eine normale App nicht auf Port 445 lauschen kann.
Sie können dies jedoch mit etwas 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
\\androids.ip:7777
in die Explorer-Adressleiste eingeben?Ich habe gerade eine App ( für nicht gerootete Geräte ) zum Teilen von Dateien im lokalen Netzwerk fertiggestellt. Meine Lektionen gelernt:
Alternativ können Sie einen FTP-Server auf Ihrem Telefon ausführen, um Zugriff auf den Inhalt Ihrer SD-Karte zu erhalten. Sehen Sie sich SwiFTP an .
Ich verstehe das vielleicht falsch, aber es hört sich so an, als ob Sie einen SMB-Client und keinen Server benötigen. 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, die es mir mit Client-Software auf meinem Computer ermöglichte, Dateien über den Datei-Explorer von überall über das Internet zu übertragen. Es war keine vollständige VNC-App. Ich habe ein neues Handy bekommen und jetzt kann ich die App für mein ganzes Leben nicht finden.
Joe Casadonte
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).