Kann ich einen Medien-Scan über die Kommandozeile auslösen?

14

Ist es möglich, den Medienscanner über die Befehlszeile zum Aktualisieren der Datenbank zu veranlassen?

Ich habe einen SSH-Server auf meinem Android-Gerät installiert und kopiere Dateien von / zu demselben Link. Es wäre großartig, wenn ich auch einen erneuten Scan für den Medienscanner auslösen könnte.

Mir ist bewusst, dass es auf dem Markt Anwendungen gibt, die dies über die Benutzeroberfläche tun, aber das ist nicht das, was ich will.

Jede Hilfe voll und ganz geschätzt.

Ken Sharp
quelle

Antworten:

14

Der SSH-Server legt nicht alle erforderlichen Umgebungsvariablen fest, sodass die Verwendung eines Shell-Skripts einfacher ist.

#!/system/bin/sh

export ANDROID_ASSETS=/system/app
export ANDROID_CACHE=/cache
export ANDROID_DATA=/data
export ASEC_MOUNTPOINT=/mnt/asec
export ANDROID_ROOT=/system
export BOOTCLASSPATH=/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar
export EXTERNAL_STORAGE=/mnt/sdcard
export LD_LIBRARY_PATH=/vendor/lib:/system/lib

am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard

Wenn erfolgreich:

# rescan-media
Broadcasting: Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///mnt/sdcard }
Broadcast completed: result=0

Dies funktioniert auf Cyanogenmod 9.1. Abhängig von Ihrem System kann sich die Umgebung geringfügig unterscheiden.

Hinweis: In späteren Versionen von Cyanogenmod / Android ist die SD-Karte möglicherweise unter installiert /storage/sdcard0. Stellen Sie sicher, dass Sie wissen, wo Ihre Karte eingelegt ist, da dies sonst niemals funktioniert. Diskinfo kann hier helfen.

Vielen Dank an Dan Hulme, der mich in die richtige Richtung gebracht hat.

Verweise:

http://developer.android.com/reference/android/content/Intent.html
http://forum.xda-developers.com/showthread.php?t=1752749
http://intwoplacesatonce.com/
http: // kennystechtalk.blogspot.co.uk/2013/08/start-android-media-scanner-from.html

Ken Sharp
quelle
Unter Paranoid Android (CM10 / JB 4.1) führt dies zu einem sofortigen Neustart. Nicht sicher, ob ein Problem mit dem ROM vorliegt oder sich etwas geändert hat. Werde untersuchen.
Ken Sharp
Auf CM11 funktioniert das nicht.
Jared Burrows
@JaredBurrows Haben Sie den richtigen Pfad verwendet? In CM10 wurde dies von / mnt / sdcard in / storage / sdcard0 geändert.
Ken Sharp
Entschuldigung, ich wollte mehr erklären. Ich laufe CM11 Android 4.4.2 Kit Kat. Ich habe versucht, / SD-Karte /, / SD-Karte / Musik. Meine SD-Karte ist sehr leer. Ich versuche, Google Play Music zu aktualisieren.
Jared Burrows
2
Dies funktioniert anscheinend nicht mehr unter Android 8.1. Selbst die grafische Benutzeroberfläche der Entwicklertools, die dieselbe Übertragung verwendet, funktioniert nicht mehr.
user149408