He instalado la misma aplicación en
un dispositivo con Android 7.0 ( no rooteado ) y
en una tableta con Android 4.4 ( raíz ),
pero, sin embargo, noté que los datos de la aplicación (bases de datos/archivos, etc.) se almacenan en diferentes ubicaciones en cada dispositivo:
En el dispositivo de tableta, los archivos se encuentran en: /storage/sdcard0/Android/data/com.packagename
y se pueden manipular fácilmente (es decir, copiar, hacer una copia de seguridad, etc.), pero no en el teléfono inteligente, lo que probablemente deja la ubicación de almacenamiento en: a la /data/data/com.packagename
que no tengo acceso.
Entiendo que generalmente se almacena en /data/data
( almacenamiento de aplicaciones interno protegido ) o /storage/sdcard0/Android/data
( almacenamiento en la partición de almacenamiento interno del usuario ), de lo contrario, en una tarjeta SD, si está presente. Además, aquí se ha hecho una pregunta relacionada: ¿ Dónde almacenan datos las aplicaciones de Android?
Mi mayor sorpresa es ¿por qué sucede esto en la misma aplicación (misma versión, carga lateral)?
Esta página de referencia también explica cómo un desarrollador puede configurar la ubicación predeterminada de los datos de la aplicación. Habría sido comprensible si hubiera diferentes versiones de la aplicación, pero aquí solo estoy tratando con la misma aplicación (es decir, .apk
archivo). ¿Hay algo que me falta aquí o las cosas han cambiado en las versiones recientes de Android?
Mi preocupación es que no puedo acceder a estos archivos /data/data
sin root y dado que son archivos grandes y necesito hacer una copia de seguridad en caso de que los datos de la aplicación se borren accidentalmente (y ya lo hice por error :(.
Lo más importante es que no quiero descargarlos continuamente de nuevo.
Nota: Ambos dispositivos no tienen almacenamiento externo adjunto.
Desde el punto de vista de las cosas, el mayor obstáculo es no poder acceder a los archivos en /data/data
(dispositivo 1), por lo tanto, no es posible hacer una copia de seguridad... (Agradecería si hay otra solución confiable para lograr esto )
Todas las aplicaciones tienen almacenamiento privado en la carpeta de datos prolongados. Algunas aplicaciones optan por almacenar datos temporalmente en lugares públicos. Desafortunadamente, no puedo decir con certeza cuáles fueron los resultados exactos de esto, pero sé que la forma en que se manejan los datos compartidos cambió en Android 7 por razones de seguridad.
/data
la carpeta en este dispositivo no rooteado?Por extraño que parezca, tuve una solución exitosa a este problema:
Tuve que mover manualmente los datos necesarios de la aplicación (archivos) de /data/data
a /Android/data
(con la excepción de shared_preferences
la carpeta y la carpeta de la base de datos, es decir, la configuración normal).
En segundo lugar, configuré la aplicación para usar un directorio privado modificando el userDefault.xml
archivo (tal vez diferente según la aplicación en cuestión) y agregando esta línea de código necesaria:
<int name="app_private_dir"value_"1"/>
SSS
/data/data
? ¿Puedes decir en qué ubicación se almacenan los datos de la aplicación? ¿Sabes si los archivos son archivos de datos? Además, ¿cómo sabes realmente sin root?SSS
/sdcard/Android/data
, de hecho, lo probé en una aplicación determinada y así fue. Además, pienso/Android/data
y/data/data
tengo diferentes propósitos. Descubrí que/Android/data
se usa más para cachés/archivos relacionados con anuncios, mientras que/data/data
es más para cosas privadas (por ejemplo, almacenar información de inicio de sesión).xavier_fakerat