domingo, 28 de agosto de 2016

Solucion Spotify en Android 6.0 Marshmallow: No guarda canciones offline en tarjeta SD

Desde que Android Marshmallow vio la luz hace algunos meses notamos cambios muy poco relevantes frente a su versión anterior Lollipop y otros que no pasaron poco desapercibidos ya que con Android 6.0 se dieron a conocer los permisos individuales para las aplicaciones: esos avisos que saltan en nuestra pantalla cuando instalamos una app.
Ocurre que con Spotify ha habido un pequeño problema en Marshmallow. Spotify en sus versiones mas recientes nos permite seleccionar dónde queremos guardar la música, si en la memoria interna o en la tarjeta de memoria SD. Si por alguna cosa no seleccionamos ninguna memoria, la app determina automáticamente cual de las dos tiene más espacio libre y ahí es donde guarda nuestra música, entonces hay un problema con los permisos de almacenamiento. Si queremos que guarde en la tarjeta de memoria, tendremos que forzarlo. Para ello tenemos dos opciones: Reajustando los permisos o bien, si eres usuario Root, modificando el archivo de preferencias de Spotify indicándole manualmente que queremos que guarde nuestra música en la tarjeta de memoria.

Solución 1: Reajustar los permisos de Spotify.



Probablemente muchos de los usuarios de Marshmallow al día de hoy vengan de una versión anterior a Android 6.0 y al haber actualizado el sistema, la aplicación de Spotify no pregunta por los permisos de almacenamiento. Da por hecho que ella va a decidir por nosotros cómo va a gestionar la memoria y simplemente la guarda en la memoria interna. Entonces si tienes un smartphone con microSD (por ejemplo un Moto G3) tendrás que forzarle a través del menú de ajustes para cambiar los permisos (y de este modo) que guarde en la tarjeta externa si así lo queremos.

Para hacerlo inicialmente tendremos que borrar todos los datos, para lo cual nos iremos a las opciones de configuración de Spotify. (De ahí  nos vamos a la sección Otro) y seleccionaremos la opción Eliminar la caché y los datos guardados. 



Una vez realizado este procedimiento pasaremos a configurar los permisos desde el menú de Ajustes de Android (Ajustes, Aplicaciones, Spotify, Permisos de Aplicaciones) y activar la opción Espacio de Almacenamiento.


Si ya haz realizado éste procedimiento y no te funciona pero también eres usuario Root pasemos a la Solución 2.


Solución 2: Modificar el archivo de preferencias de Spotify (Requiere Root).


Para iniciar deberemos desinstalar Spotify para asegurar una instalación limpia. Una vez que hayamos reinstalado la app vamos a abrirla pero no iniciaremos sesión. Acto seguido iremos al menú de Ajustes, Aplicaciones, Spotify y seleccionaremos Forzar la detención. Realizado este paso, con la ayuda de un explorador de archivos - el cual les recomiendo Root Browser - nos dirigimos a la carpeta raíz de la memoria de nuestro teléfono y abrimos la siguiente ruta:

data/data/com.spotify.music/shared_prefs/ 

Ahí encontraremos el archivo spotify_preferences.xml en el cual abriremos para editarlo y buscaremos la siguiente cadena: 

<string name="cache_location_v4">/storage/emulated/0/Android/data/com.spotify.music/files/spotifycache</string>

En este punto cambiaremos la ruta del punto de montaje de nuestra tarjeta de memoria. En mi caso cambié la parte emulated/0 por el nombre del directorio donde mi tarjeta SD estaba montada y quedó de la siguiente forma:

name="cache_location_v4">/mnt/sdcard/Android/data/com.spotify.music/files/spotifycache</string>

Una vez realizados los cambios, guardamos el archivo tal cual con las modificaciones hechas. Podremos iniciar sesión en Spotify y automáticamente toda nuestra música será almacenada en la tarjeta SD.


Se trata de un fallo menor que  por fortuna, se revisará dentro de poco con una actualización de la aplicación. No se trata de nada grave pero si nos gusta tener la música organizada y no encontrarnos de pronto con la memoria interna llena de música de Spotify, revisa bien los permisos para que no nos dé un susto a causa el aviso por el poco espacio disponible.