Puis-je déclencher une analyse des médias via la ligne de commande?

14

Est-il possible de déclencher le scanner de médias pour mettre à jour sa base de données via la ligne de commande?

J'ai un serveur SSH installé sur mon appareil Android et je copie des fichiers vers / depuis via le même lien. Ce serait formidable si je pouvais également déclencher une nouvelle analyse du scanner de supports.

Je suis conscient qu'il existe des applications sur le marché pour le faire via l'interface utilisateur, mais ce n'est pas ce que je veux.

Toute aide pleinement appréciée.

Ken Sharp
la source

Réponses:

14

Le serveur SSH ne définit pas toutes les variables d'environnement nécessaires, il est donc plus facile d'utiliser un script shell.

#!/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

En cas de succès:

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

Cela fonctionne sur Cyanogenmod 9.1. Selon votre système, l'environnement peut être légèrement différent.

Remarque: Dans les versions ultérieures de Cyanogenmod / Android, la carte SD peut être montée sur /storage/sdcard0. Assurez-vous de savoir où votre carte est montée, sinon cela ne fonctionnera jamais. Diskinfo peut vous aider ici.

Merci à Dan Hulme de m'avoir poussé dans la bonne direction.

Les références:

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
la source
Sur Paranoid Android (CM10 / JB 4.1), cela provoque un redémarrage immédiat. Je ne sais pas s'il y a un problème avec la ROM ou si quelque chose a changé. Va enquêter.
Ken Sharp
Sur CM11, cela ne fonctionne pas.
Jared Burrows
@JaredBurrows Avez-vous utilisé le bon chemin? Dans CM10, cela est passé de / mnt / sdcard à / storage / sdcard0.
Ken Sharp
Désolé, je voulais expliquer plus. Im exécutant CM11 Android 4.4.2 Kit Kat. J'ai essayé / sdcard /, / sdcard / Music. Ma carte SD est très vide. J'essaie d'actualiser Google Play Musique.
Jared Burrows
2
Cela ne fonctionne apparemment plus sur Android 8.1. Même l'interface graphique des outils de développement, qui utilise la même diffusion, ne fonctionne plus.
user149408