Xposed Framework recupera la escritura en tarjeta SD para KitKat a través de un módulo
¿Cuando empezó a implementarse esta nueva política para el almacenamiento externo? Todo esto comienza cuando Google decide retirarlo de sus dispositivos y comienza a fabricarlos sin batería extraíble. Bastantes fabricantes decidieron manter el slot para la tarjeta microSD, lo cual obligó a modificar el código fuente de Android por necesidad en algunos casos. Y debido a cambios en cómo estas últimas versiones de Android trabajan con las tarjetas de memoria externas, muchas aplicaciones ya no pudieron usarlas para escribir información o acceder a ellas. Por suerte para nosotros, que contamos con una comunidad de desarrolladores tan tremendamente activa y con Xposed Framework, las reglas del juego han vuelto a cambiar a favor del usuario, aunque de momento sólo sea para aquellos que tengan el acceso root en sus terminales.
Gracias al módulo HandleExternalStorage, vamos a poder modificar varios aspectos del sistema operativo sin meternos directamente a trastear el sistema de archivos. Esto nos permite aprovecharnos del nuevo permiso de Google para almacenamiento externo, llamado WRITE_EXTERNAL_STORAGE y que os detallamos a continuación:
1 <!-- Allows an application to write to external storage.2 Starting in API level 19, this permission is not required to3 read/write files in your application-specific directories returned by4 android.content.Context#getExternalFilesDir and5 android.content.Context#getExternalCacheDir. -->6 <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"7 android:permissionGroup="android.permission-group.STORAGE" 8 android:label="@string/permlab_sdcardWrite"9 android:description="@string/permdesc_sdcardWrite"10 android:protectionLevel="dangerous" />1112 <!-- Allows an application to write to internal media storage13 @hide -->14 <permission android:name="android.permission.WRITE_MEDIA_STORAGE"15 android:permissionGroup="android.permission-group.STORAGE"16 android:label="@string/permlab_mediaStorageWrite"17 android:description="@string/permdesc_mediaStorageWrite"18 android:protectionLevel="signature|system" />
Básicamente, este nuevo permiso replica prácticamente punto por punto el anterior pero con una pega: Las apps "normales" no pueden solicitarlo. Esta nueva versión de WRITE_EXTERNAL_STORAGE tiene un nivel de protección de tipo systemOrSignature, que limita esto a las aplicaciones de sistema -o lo que es lo mismo, aquellas incluidas por Google o por los fabricantes como preinstaladas en cada terminal y que suelen correr en segundo plano- y a cualquier cosa que firme el creador del permiso -que viene a ser el propio sistema operativo-.
El responsable de este módulo para Xposed Framework -podéis descargarlo a través de la aplicación- es el usuario de XDA Developers defim, que lo desarrolló para solucionar los problemas antes mencionados. Para todos aquellos con terminales rooteados y para los que esto suponga un dolor de cabeza os animamos a probarlo, a ver qué resultados os da. Podéis dejarnos vuestras impresiones en los comentarios.
Xposed Framework | Foro de XDA Developers (en inglés)
Para estar siempre al día con lo último en tecnología, suscríbete a nuestro canal oficial y verificado de Andro4all en WhatsApp.