Где Google Music хранит «автономные треки»? [дубликат]

Возможный дубликат:
где Google Music хранит офлайн-песни?

У меня есть около 8 гигабайт музыки, хранящейся в Google Music, и недавно мне надоело стримить (и рисковать платой за передачу данных), поэтому я старательно разрешил хранить ее в автономном режиме. Итак, на моей новой SD-карте на 16 гигабайт осталось только 8 гигабайт. Затем я прошил новый ром, думая, что вся моя музыка все еще будет там кэшироваться (или как это работает), но я ошибался. Когда я нажимаю «показать только офлайн-треки» в приложении Google Music, ничего не отображается, но на моей SD-карте осталось всего 8 гигабайт свободного места.

Итак, мой вопрос: где эти автономные треки хранятся на моей SD-карте, чтобы я мог войти и удалить их, чтобы освободить место, чтобы я мог снова создать их резервные копии?

Спасибо!

А также, почему приложение не распознает, что на моей SD-карте хранится автономная музыка после прошивки нового рома? Я полагал, что данные останутся нетронутыми в разных ромах.

Ответы (2)

Ваши песни должны быть сохранены в /sdcard/Android/data/com.google.android.music/cache/music.

Причина, по которой они не появляются при установке нового ПЗУ, заключается в том, что папка, в которой они хранятся, содержит .nomediaфайл, который исключает его из сканера мультимедиа. Google Music может отслеживать их, потому что он помещает записи в свою базу данных (которая находится по адресу /data/data/com.google.android.music/databases/music.db), которые указывают на файл. В частности, все в MUSICтаблице со LocalCopyTypeзначением 200 — это песня на серверах Google, которую вы загрузили, поэтому она будет «доступна в автономном режиме». Это исчезает, если вы стираете свой /dataраздел при перепрошивке нового ПЗУ. Если sqlite3на вашем устройстве есть двоичный файл, вы можете использовать следующее, чтобы получить список всех песен, доступных в автономном режиме:

# sqlite3 /data/data/com.google.android.music/databases/music.db
sqlite> select * from music where localcopytype = 200;

Если вы хотите, чтобы ваша музыка хранилась локально при установке ПЗУ, проще всего просто создать папку в корне вашей SD-карты с именем Music(или аналогичным) и поместить в нее файлы. Медиа-сканер уловит это таким образом. Кроме того, вы можете попробовать удалить .nomediaфайл из папки кеша Google Music. Это также должно позволить его сканировать, но я не знаю, попытается ли Google Music воссоздать файл при последующих запусках приложения.

Хорошо спасибо. Но когда я стираю /data, удаляются ли фактически загруженные файлы или только указатели на них? Я просто не хочу, чтобы недоступные песни занимали драгоценное место, ха-ха
@ roboguy12: Нет, он стирает только базу данных приложения и, следовательно, все его записи. Сами файлы лежат на сд карте в папке которую я отметил выше. Вы можете просто удалить их с помощью файлового менеджера или с компьютера, подключив телефон и получив к нему доступ как к USB-накопителю.
Единственная проблема заключается в том, что когда я захожу в /sdcard/Android/data/com.google.android.music/cache/music, там находятся только 4 последние песни, которые я прослушал, а не все мои 8. гиговая библиотека.
@roboguy12: Странно, я никогда не видел, чтобы они хранились где-либо еще. Какая у вас версия Google Music и что это за телефон?
Это Droid Incredible со стандартной прошивкой 2.3.7... приложение Music v4.1.512. И просто чтобы проверить это, я зашел в приложение и проверил несколько случайных песен, чтобы они были доступны в автономном режиме, чтобы попытаться найти их на SD-карте, и их не было в кеше/музыке ... и я не мог найти их нигде на SD-карта.
@roboguy12: Ну, я думаю, один из способов выяснить, что он делает, — это запросить базу данных музыки. Он хранит путь к файлу как один из столбцов MUSICтаблицы, поэтому указанный выше запрос должен показать вам, где они находятся. Вот так я нашел папку на своем устройстве изначально.
Это может быть основанием для другого вопроса, но я «adb shell», а затем запускаю эту команду, и она говорит, что sqlite3: не найдено. Что это значит? Если мне нужно начать другой вопрос, я могу, а затем я размещу ссылку на него здесь, чтобы вы могли ответить на него, если хотите.
В вашем ПЗУ, вероятно, нет sqlite3двоичного файла. У SuperOneClick есть копия (в папке «Зависимости»). Вы можете нажать его на свое устройство, adbчтобы использовать его (в этом ответе на переполнение стека есть некоторые инструкции)

В зависимости от вашего устройства и версии приложения это также может быть /data/data/com.google.android.music/files/music/.

Это, конечно, безопасное хранилище, доступное только для самого приложения. На нерутированном телефоне.

Означает ли «безопасное хранилище», что на нерутированном устройстве папка видна, но содержимое не читается? У меня довольно много музыкальных файлов, хранящихся в автономном режиме, но Astro File Manager сообщает об этих папках как «ПУСТЫЕ» даже с включенным параметром «Показать скрытые файлы».