Escribir en la tarjeta de memoria usando Android 4.4
En sus inicios los teléfonos inteligentes (smartphones) venían con una pequeña memoria interna que permitía instalar las aplicaciones. Con la evolución de la tecnología, esta memoria fue aumentando poco a poco para cumplir con las nuevas necesidades que aparecían. Como los terminales tenían cada vez más memoria las aplicaciones empezaron a crecer también en tamaño y prestaciones. Llego un momento en el que las aplicaciones necesitaban más recursos que los que proporcionaba el teléfono. Para superar esta limitación los terminales empezaron a incluir la posibilidad de usar una tarjeta de memoria externa. Esta forma de trabajar tiene ventajas pero al mismo tiempo tiene algunos inconvenientes.
La memoria externa es varios órdenes de magnitud más lenta que la memoria interna. Una tarjeta SD tiene dos parámetros importantes. El primero de ellos es la capacidad y se mide en MB. El segundo parámetro es la clase e indica lo rápida que es una tarjeta. Supongamos que tenemos una aplicación que necesita escribir 30 MB antes de poder empezar a trabajar. Como está instalada en la memoria externa usará esta memoria. Las velocidades que tiene cada clase son las siguientes:
- 2: 2 MB/s
- 4: 4 MB/s
- 10: 10 MB /s
Al usar una tarjeta de clase 2 la aplicación tardaría 15 segundos1 en arrancar. El tiempo se reduciría 7,5 segundos con una tarjeta de clase 4. En el último caso de este ejemplo el tiempo sería únicamente de 3 segundos. Con este ejemplo simple quiero mostrar la importancia que tiene la clase de una tarjeta en el rendimiento de una aplicación. El HTC Desire fue el terminal hermano del primer Google Nexus. Por cuestiones de diseño la memoria interna que podría usar el usuario era de unos 100 / 120 MB. Una de las soluciones que dio la comunidad a este problema fue mover el sistema entero a la tarjeta SD. A modo de ejemplo, cuando usabas una tarjeta de clase 2 o de clase 4 (no recuerdo ahora mismo el dato) el tiempo de arranque de Android podría ser superior a 15 minutos. La misma configuración usando una tarjeta de clase 10 tardaba un par de minutos.
Cuando el sistema detecta que un terminal lleva una tarjeta SD da la posibilidad de mover las aplicaciones instaladas tanto la aplicación principal como los datos asociados. Se puede dar el caso también de tener la aplicación principal en la memoria interna y los datos en la memoria externa. Por ejemplo, instalamos un juego que ocupa 25 MB en la memoria interna y 300 MB en la SD.
La memoria externa con Kit Kat
Con Android 4.4 (Kit Kat) la cosa empieza a cambiar. Muchos terminales dejan de lado la memoria externa y ofrecen únicamente la memoria interna. El cambio no afecta sólo a estos terminales capados sino que se integra en Android. Con Kit Kat aparecen varias limitaciones que no aparecían antes:
- Las aplicaciones no se pueden mover a la SD (sin modificaciones).
- Las aplicaciones sólo pueden escribir en unas carpetas concretas de la SD.
Pongamos un ejemplo para que quede más claro. Tenemos un teléfono con Kit Kat y usamos una aplicación como A Better Camera. Si entramos en los ajustes del programa para configurar como destino de las fotografías la tarjeta de memoria veremos que no se puede activar esa función y tenemos que guardarlas en la memoria interna. Otro ejemplo lo tenemos con Spotify. La versión Premium permite descargar nuestra música favorita para escucharla offline. La aplicación se descarga la música pero sólo en la memoria interna. Si juntamos estos dos ejemplos con un terminal que tenga 8 GB de memoria estaremos en problemas.
La primera de las dos limitaciones que hemos visto no tiene una solución directa y depende del fabricante del teléfono (no siempre es posible). Para la segunda limitación hay más suerte y se puede superar sin demasiados problemas. La única condición que tenemos que cumplir es la de rootear el terminal. Este proceso no es complicado aunque conviene realizarlo paso a paso. Si tenéis un terminal de bq podéis usar los tutoriales de tvcastro. En el caso de tener otro terminal lo más práctico es buscar la información en el foro de HTC Mania.
Escribir en la SD utilizando Kit Kat
Supongamos que Android está formado por el sistema operativo y los datos del usuario. Dentro de los datos del usuario tenemos los teléfonos, las fotografías o las aplicaciones que instalamos. La información sólo puede circular en un sentido: las aplicaciones del sistema pueden leer los datos del usuario pero el usuario no puede leer los archivos del sistema. De esta forma se evita que el usuario pueda romper el sistema modificando los archivos críticos.
Al rootear un terminal esta limitación desaparece y el usuario puede modificar cualquier archivo del sistema. Es un arma de doble filo ya que por una parte nos facilita personalizar el sistema pero al mismo tiempo puede hacer que no arranque y tengamos que reinstalar Android. Para que las aplicaciones puedan escribir en la SD es necesario modificar un archivo del sistema. Esta modificación la podemos aplicar de forma sencilla usando la aplicación SDFix.
SDFix modificará por nosotros el archivo de Android que limita el uso que hacen las aplicaciones de la SD. Al pulsar en el botón Continue pasaremos a una pantalla en la que se comprobarán los requisitos que se tienen que cumplir para hacer la modificación. Si todo es correcto en la tercera pantalla se modificará el archivo de Android. La modificación es permanente y resiste aunque restauremos la configuración de fábrica. Por el contrario, desaparecerá si reinstalamos Android usando un Hard Reset.
Problemas y soluciones
Se puede dar el caso que las aplicaciones no puedan escribir en la tarjeta de memoria después de dar los permisos. La solución la ha encontrado Juan Carlos (el mensaje está en los comentarios) y consiste en formatear la tarjeta de memoria en el teléfono y reiniciar. Después de hacerlo ya debería funcionar sin problemas. Antes de formatear la tarjeta de memoria es obligatorio guardar el contenido en el ordenador.
Conclusiones
SDFix es una aplicación que arregla el problema introducido en Android 4.4 que impide escribir en la tarjeta de memoria. Una de las razones para introducir este bloqueo está en la privacidad del usuario ya que es sencillo extraer la información de una tarjeta de memoria. En este punto puede ser interesante hacer una copia de seguridad de las aplicaciones y las configuraciones que tenemos usando Titanium Backup. Después de hacer la copia de seguridad es importante pasar los datos al ordenador. De nada sirve hacer una copia de los datos y perder al mismo tiempo el teléfono y la tarjeta de memoria que hay dentro.
Para cualquier duda podéis utilizar los comentarios de la página.






Pebble
No me sirven las app
¿que hago?
Buenas tardes Francisco
Hay que diferenciar entre mover una aplicación a la SD y permitir que una aplicación escriba en la SD. En el primer caso es necesario que la versión de Android tenga habilitada esa función (la de mover las aplicaciones a la SD). El tutorial se aplica en el segundo caso en el que tenemos una aplicación en la memoria interna y queremos que pueda escribir en la tarjeta de memoria si está preparada. Por ejemplo, puedes tener una aplicación de cámara que permita en las opciones de la aplicación guardar los datos en la SD. Para hacerlo a partir de Android 4.4 necesitas que el terminal esté rooteado y ejecutar la aplicación SD Fix.
¿Qué terminal tienes?
Buena tarde.
por favor necesito de su ayuda, descargue el sdfix que recomiendan, pero en el tercer paso me sale un error ¿¿que debo hacer??
yo tengo un Samsung Galaxy S4 mini.
y lo que yo quiero hacer es pasar música que descargue desde mi celular a la tarjeta sd atravez de la aplicacion file manager, pero no me deja por la version de android kitkat que tengo en mi celular.
espero su ayuda.
gracias.
Hola Elias
¿Qué error te da SDFix? ¿Tienes el teléfono rooteado antes de ejecutar la aplicación?
Hola descargue eL SDFix y el tercer paso me da error. En mi Android no puedo enviar un documento al usb, que paso debo seguir?
¿Qué error te da Lujan? Si tu teléfono tiene USB Host y has conectaod una memoria USB puedes copiar archivos con ES Explorer.
Tengo un moto e con KitKat. Y no puedo mover apps a la tarjeta sd. Q debo hacer.
Gracias
Hola Jessica
El Moto E si que permite mover las aplicaciones a la SD (dentro de ciertos límites). No podrás mover las aplicaciones de sistema o las aplicaciones que vienen instaladas de serie. Como prueba instala ES Explorer, entra en Ajustes, Aplicaciones y busca la aplicación. En las propiedades te debería salir la opción de mover a la SD.
Ya instale el SDfix y mi telefono (samsun galaxi ace 4) rooteado y aun asi no me deja mover datos con los exploradores de archivos a la SD Card :(
Hola Victor
¿Qué explorador de archivos estás usando? ¿Has comprobado que en la aplicación de Super SU le hayas dado permisos de root al explorador de archivos?
Hola estimado,
En mi caso tengo un Sony M2 Rooteado, con Kit Kat 4.4.4, instalé el SDFix y me dice que la operación se realizó con éxito, pero al reiniciar el móvil sigue sin dejarme pasar aplicaciones a la sdcard, y tampoco puedo escribir en la misma, ni crear carpetas ni nada. El Super Su le dio permisos de Root a los exploradores (uso el ES File Explorer y el Total Commander), y no puedo escribir en la tarjeta de memoria con ninguna. Por qué será?. Saludos y gracias!.
Estimado,
Hace un rato le he dejado una pregunta (que verifiqué y se grabó ok), pero veo que ha sido borrada?, por qué motivo?. Saludos.
Hola Juan Carlos
Cuando los comentarios son de un usuario anónimo (es decir, que no está registrado en InnerDroid) tienen que pasar antes por moderación para que sean publicados. Me parece que una vez se ha dado como válida una cuenta de correo no pasan por moderación pero lo tendría que comprobar.
Respecto a tu duda SD Fix permite que las aplicaciones que están preparadas puedan escribir en la SD. Ésto se aplica por ejemplo a las aplicaciones de fotografía o de música. SD Fix no funciona si quieres mover una aplicación y sus datos a la SD ya que esta opción depende de que lo soporte el firmware que tiene el teléfono. Cuando usas ES Explorer, ¿te da algún error al escribir en la SD? ¿Tienes las aplicaciones actualizadas?
Hola Mimecard,
En la sd no puedo escribir nada, ni siquiera crear una carpeta, ni pasar aplicaciones (las aplicaciones las tengo actualizadas), tampoco si conecto el teléfono a la pc. Lo único que pude pasar es la música y creo que me deja también las fotos, pero nada más. Además de los cambios que el SDFix realiza en el archivo Plataform.xlm, también probé dándole permisos 644 y 666 a este archivo pero no funciona tampoco, no sé qué más hacer. La única forma de grabar algo en la tarjeta es sacándola del teléfono y ponerla en la lectora de tarjeta de la notebook. Se te ocurre algo más que pueda probar?.
Prueba con la aplicación File manager HD, según lo que he visto en algunos foros permite pasar archivos del teléfono a la SD. Parece que tu modelo tiene problemas al acceder a la SD aunque tengas root. Una opción podría ser buscar un firmware cocinado que no tuviera las limitaciones del firmware oficial.
Hola Mimecar,
Por fin pude resolver el problema de escritura en la sdcrad, la solución que me sirvió a mi fue:
1.- Instalar y ejecutar el SDFix (con celular rooteado)
2.- Formatear la sdcard externa
3.- Reiniciar el celular y listo. Problema resuelto.
Espero le sirva a alguien más.
Saludos!.
Juan Carlos.
Hola Juan Carlos,
Actualizo el artículo para indicar la solución. Gracias por compartirla ;)
Mi caso creo que es el mismo. Todos los documentos que copio de la laptop a la sd en la tablet lenovo A 7600 aparecen como solo lectura y no los puedo editar o modificar en la misma. hay alguna solución para esto?
Buenas tardes María,
¿Has podido seguir todos los pasos del artículo?
Si usas un explorador de archivos, ¿puedes escribir sin problema en la SD?
buenos dias,tengo un avvio 768,no he podido encontrar la forma de copiar mis fotos del telefono a la sd tengo una aplicacion llamada foto-galeria me da la opcion pero sale un mensaje que dice que el androit no lo permite.
Hola Francisco Javier.
Tendrás que rootear el teléfono y después usar SDFix. En Kit Kat las aplicaciones sólo pueden escribir en su carpeta de la SD. No pueden salir de ella.