Чи можу я запустити сканування медіа за допомогою командного рядка?


14

Чи можливо запустити медіа-сканер для оновлення своєї БД за допомогою командного рядка?

У мене на пристрої Android встановлений SSH-сервер, і я копіюю файли на / з одного і того ж посилання. Було б чудово, якби я також міг запустити повторне сканування медіа-сканера.

Я знаю, що на ринку є програми, які роблять це через інтерфейс, але це не те, що я хочу.

Будь-яка допомога повністю оцінена.

Відповіді:


14

Сервер SSH не встановлює всі необхідні змінні середовища, тому простіше використовувати скрипт оболонки.

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

При успіху:

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

Це працює на Cyanogenmod 9.1. Залежно від вашої системи середовище може дещо відрізнятися.

Примітка. У пізніших версіях Cyanogenmod / Android SD-карта може бути встановлена ​​на /storage/sdcard0. Переконайтеся, що ви знаєте, де встановлена ​​ваша картка, або це ніколи не вийде. Тут може допомогти Diskinfo .

Дякую Дану Халме за те, що він штовхнув мене в правильному напрямку.

Список літератури:

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


На Paranoid Android (CM10 / JB 4.1) це викликає негайне перезавантаження. Не впевнений, чи є проблема з ПЗУ чи щось змінилося. Буде розслідувати.
Кен Шарп

На CM11 це не працює.
Джаред Берроуз

@JaredBurrows Ви використовували правильний шлях? У CM10 це змінилося з / mnt / sdcard на / storage / sdcard0.
Кен Шарп

Вибачте, що хотів пояснити більше. Мені працює CM11 Android 4.4.2 Kit Kat. Я спробував / sdcard /, / sdcard / Музика. Моя картка дуже порожня. Я намагаюся оновити Google Play Music.
Джаред Берроуз

2
Це, мабуть, більше не працює на Android 8.1. Навіть інструменти для розробників GUI, які використовують ту саму трансляцію, вже не працюють.
користувач149408
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.