Recientemente he roto la pantalla de mi Android. (De nuevo)
Es un T-Mobile G2
Intentar mantenerme al día con mi ocupada vida relacionada con la tecnología es bastante difícil sin perder mi vínculo con todos.
He rooteado el teléfono y ya tengo la depuración USB activada.
¿Alguien sabe cómo revisaría mi mensaje SMS reciente desde el shell adb para poder seguir trabajando mientras guardo para obtener un nuevo teléfono o una pantalla de reemplazo.
Gracias por cualquiera que tenga alguna información al respecto.
EDITAR
Respuesta a eldarerathis
C:\android-sdk\platform-tools>adb shell
$ cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
$ sqlite3 mmssms.db
sqlite3 mmssms.db
sqlite3: permission denied
$
No puedo modificar el archivo. ¿Sabes en realidad dónde está?
$ chmod +x sqlite3
chmod +x sqlite3
Bad mode
$
su me deja solo con comandos básicos
$ su
su
# cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
# sqlite3 mmssms.db
sqlite3 mmssms.db
sqlite3: not found
#
Corregido
sqlite no fue instalado
C:\android-sdk\platform-tools>adb shell
$ cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
$ sqlite3 mmssms.db
sqlite3 mmssms.db
SQLite version 3.6.22
Enter ".help" for instructions
sqlite>
También para acceder a la base de datos, necesitaba ser root.
C:\android-sdk\platform-tools>adb shell
$ su
# cd /data/data/com.android.providers.telephony/databases
cd /data/data/com.android.providers.telephony/databases
# sqlite3 mmssms.db
sqlite3 mmssms.db
SQLite version 3.6.22
Enter ".help" for instructions
sqlite>
Muchas gracias eldarerathis
sms
adb
command-line
broken-screen
sqlite
El codificador perezoso
fuente
fuente
sqlite3
binario en tu dispositivo. El primer enlace en mi respuesta tiene instrucciones para ayudarlo a instalarlo/system/bin
. Aquí hay un enlace al binario en sí.Respuestas:
Esto es realmente feo, pero puede leerlos desde la línea de comandos utilizando
sqlite3
para ver las entradas de la base de datos. Probablemente necesitará desenterrar un binario para esto a menos que tenga una ROM personalizada instalada. Hay algunas instrucciones para instalar dicho binario en esta pregunta de desbordamiento de pila , y SuperOneClick viene empaquetado con él ( aquí se puede encontrar una copia del binario ).Si necesita instalar el binario, use
mount
(sin parámetros) para determinar dónde/system
se encuentra físicamente su partición (la mía/dev/block/mtdblock3
, por ejemplo). Luego siga las instrucciones en el primer enlace de arriba y comience volviendo a montarlo en modo lectura / escritura con el comando:Una vez que lo haya hecho
sqlite3
, querrá abrir unadb shell
, cambiar a root consu
y luego hacer lo siguiente:Esto extraerá todas las filas de la tabla para todos los mensajes no leídos. Las columnas en la tabla se definen de esta manera (para que pueda recortar
SELECT
):*** Nota para la línea marcada: esto puede ser ligeramente diferente dependiendo de su dispositivo y versión de Android, por eso he incluido este
cd
comando por separado. Yo creo que lo que solía sercom.android.providers/telephony/databases
en los dispositivos más antiguos, pero no lo recuerdo. Usels
para buscar el camino correcto aquí.Alternativamente, puede intentar copiar el archivo .db en su tarjeta SD (o extraerlo con
adb pull
) y luego leerlo en su computadora con sqlite.fuente
su
antemano).chmod 0755 sqlite3
, entonces. Quizás alchmod
binario de stock no le gusta el+x
parámetro.Gracias a la hermosa pista anterior de eldarerathis, acabo de hacer
leer mis SMS desde mi solicitud de root.
Como no tenía sqlite3, primero tuve que descargarlo con
O ver instalador SQLite3 en Google Play (si no confía en la fuente de Dropbox).
fuente
En caso de que esté interesado en más detalles que solo el remitente y el mensaje (como en esta respuesta ), acabo de encontrar un buen artículo sobre el tema: Leer SMS directamente desde la base de datos Sqlite en Android . Ver también: La estructura de datos del mensaje .
Aún mejor, eche un vistazo a Github: ANDROID-SMS es una herramienta escrita en Python que recupera todos los mensajes SMS y los organiza en conversaciones de SMS con estadísticas proporcionadas. Eso también recupera todos los mensajes MMS y los organiza en conversaciones MMS, con los archivos respectivos. No lo he probado (todavía) yo mismo (lo encontré hace unos minutos), pero suena bastante bien.
Por supuesto, este programa no funciona directamente en el dispositivo Android, sino en su computadora (donde requiere Python 2.7 con SQLite3 para Python). Por lo tanto, primero deberá extraer la base de datos del dispositivo. Todos los pasos necesarios se describen en la página principal de Github del proyecto.
fuente
Otra solución que inventé utiliza una aplicación en el teléfono que reacciona en SMS y la guarda en un archivo que puede leer con ADB.
Contact=>SMS
Memory=>Write file
, allí puede guardar SMS en un archivo nuevo cada vez o en el mismo con separador. De todos modos guárdelo en / sdcard o cualquier ruta accesible a través de ADB.fuente