Wie kann ich den Pfad der SD-Karte bestimmen?


11

Ich bin auf einem Thinkpad mit Android 4.0.2 und versuche, eine HTML-Datei auf einer SD-Karte mit dem Standardbrowser zu öffnen. Antworten hier haben angegeben , sollten Sie zugreifen file:///mnt/sdcard, file:///mnt/sdcard-ext, file:///sdcard, und viele andere Kombinationen, aber keiner von ihnen arbeiten für mich: Ich bekomme nur „ die Seite nicht verfügbar“.

Anscheinend montieren verschiedene Maschinen die SD-Karte auf einem anderen Pfad. Wie kann ich herausfinden, auf welchem ​​Pfad meine SD-Karte montiert ist? Oder wenn das nicht das Problem ist, was ist es dann?


Was steht aus Neugier und teilweise aufgrund einiger Dinge, die Sie in anderen Kommentaren erwähnt haben, in den von Ihnen erwähnten HTML-Dateien? Sie haben den Begriff "HTML-basierte Apps" in einem Kommentar verwendet, und ich frage mich, was Sie damit gemeint haben.
dotVezz

Antworten:


6

adb shell 'echo ${SECONDARY_STORAGE%%:*}'


1
Sie können dies auch einfach echo $EXTERNAL_STORAGEin einem Terminalemulator tun . Dies gibt mir jedoch den Pfad zur internen "SD-Karte" ( /storage/sdcard0) auf meinem Galaxy S3 und nicht zur physischen SD-Karte (für die der Pfad lautet /storage/extSdCard)
Compro01

was ist mit echo $SECONDARY_STORAGE?

echo $SECONDARY_STORAGEgibt mir /storage/extSdCard:/storage/UsbDriveA:/storage/UsbDriveB:/storage/UsbDriveC:/storage/UsbDriveD:/storage/UsbDriveE:/storage/UsbDriveF, also bekommen wir die externe SD-Karte sowie ein paar andere Sachen. Ich bin mir nicht sicher, ob diese Mount-Punkte vorhanden waren, bevor ich ein USB-Laufwerk für dieses Ding verwendet habe oder nicht.
Compro01

echo ${SECONDARY_STORAGE%%:*}

@AlexP. Funktioniert dies auf allen Android-Geräten? Ist es möglich, nur die aktuellen zu erhalten, die montiert sind?
Android-Entwickler

1

Auf den meisten Geräten ist die SDCard entweder gemountet oder zumindest mit einem /mnt/sdcardoder verbunden /sdcard. Wenn das Gerät jedoch sowohl eine interne als auch eine externe SDCard enthält, befindet sich die letztere normalerweise "innerhalb" der ersteren, z /sdcard/external_sd. Alternativ kann es an /mnt/extSdCardoder montiert werden /storage/extSdCard. Beachten Sie die Hauptstädte. Bei Android-Dateinamen wird zwischen Groß- und Kleinschreibung unterschieden.

Für einen Benutzer ist die Verwendung eines Dateimanagers der einfachste Weg, um herauszufinden, wo er sich befindet (oder in Ihrem Fall eher, wo sich Ihre Datei befindet), mit dem Sie nicht nur Ihre SDCard, sondern das gesamte System durchsuchen können . Ich benutze zum Beispiel den ES File Explorer : Wenn ich die App starte, platziere ich mich automatisch auf meiner SD-Karte (ich habe sie nicht so konfiguriert, also gehe ich davon aus, dass dies immer funktioniert). Der Pfad wird oben im Display angezeigt, sodass Sie ihn sofort sehen können. Wenn es zu lang ist, um dort angezeigt zu werden (auch wenn Sie in den Querformatmodus wechseln), können Sie trotzdem "nach oben navigieren", bis Sie nur noch /dort sehen, und alle Schritte notieren - so erhalten Sie den vollständigen Pfad.


Interessant. Ich frage mich, was ES File Explorer tut, um den SD-Karten-Mount-Punkt zu finden.
dotVezz

Irgendwie ohne Dateimanager? Der Grund, warum ich dies tun muss, ist, dass ich kein drahtloses Internet habe und über die SD-Karte auf HTML-basierte Apps zugreifen möchte. Ohne drahtloses Internet kann ich keinen Dateimanager herunterladen.
Jack M

Gibt es andere Gründe, warum ich nicht auf die SD-Karte zugreifen kann, da keine dieser URLs funktioniert?
Jack M

@dotVezz Sie verwenden einen speziellen Systemaufruf, der das Verzeichnis zurückgibt, in dem der externe Speicher bereitgestellt ist. Jack: Sie könnten einen Terminalemulator (und Shell-Befehle wie cdund ls) verwenden, aber ich denke, Sie haben auch keinen installiert. Wenn Sie einen Computer über USB angeschlossen haben, können Sie ihn auch adb shellfür das gleiche Verfahren verwenden. Abgesehen davon habe ich momentan keine Ideen mehr.
Izzy

Anzeigen der Bearbeitung von Compro01: Was ist Ihre Android-Version? Irgendwo auf dem Weg zu 4.2 wurden einige weitere Pfade eingeführt, wie z /storage/sdcard0/.
Izzy

0

Nur sechs Jahre später ...

Ich verwende die Android-App sshelper ( https://play.google.com/store/apps/details?id=com.arachnoid.sshelper ) auf dem Android-Gerät. Es fungiert als SSH-Server auf dem Smartphone und ermöglicht mir, mich über ssh anzumelden.

Dies ermöglichte es mir, herumzuwühlen und meine SD-Karte zu finden, indem ich: - automatisch an SDCard irgendwo ein Linux-Dateisystem gesendet werde - herausfand, dass dieses Verzeichnis auf / storage / emulated / 0 verweist, indem ls -lha ich - herausfand, dass dies der interne Speicher von ist Durchsuchen des Inhalts - Finden Sie heraus, dass / storage / ein seltsames Verzeichnis wie "5674-9865" enthält, das der Eintrag auf meiner SD-Karte war.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.