Comprobar el estado de respuesta del siguiente hilo: Why do I get access denied to data folder when using adb?
A partir de API de nivel 8 (Android 2.2), si se construye la aplicación como depurable, puede utilizar la cáscara run-as
comando para ejecutar un comando o archivo ejecutable como un usuario/aplicación específico o simplemente cambie al UID
de su aplicación para que pueda acceder a su directorio data
.
Así que, básicamente, tendrá que hacer una versión de depuración (que se hace automatically cada vez que inicie la aplicación desde el Android Studio a menos que solicite la versión de lanzamiento) y ejecute los siguientes comandos:
run-as com.mycompck
cd /data/data/com.mycompck/databases
ls
sqlite3 ./yourdatabase.db
Sin embargo, tenga en cuenta que el número sqlite3
binario no está presente por defecto en muchos teléfonos. Por lo tanto usted quizás tenga que descargar en alguna parte (por ejemplo, de archivos SuperOneClick en http://shortfuse.org/), guardar en la tarjeta SD y hacerlo ejecutable (que es un poco difícil sin embargo), por ejemplo:
run-as com.mycompck
cd /data/data/com.mycompck/
cat /sdcard/sqlite3 >./sqlite3
chmod 744 ./sqlite3
./sqlite3 ./databases/yourdatabase.db
¿Por qué necesito acceso de raíz? Quiero acceder a mis datos de aplicaciones, ya que soy el desarrollador Me gustaría tener acceso a él. – Pentium10
adbd no se puede ejecutar como raíz en las compilaciones de producción – Pentium10
Agregue una función de exportación o copia de seguridad a su aplicación que copie la base de datos a la tarjeta SD. – CommonsWare