Tela quebrada enquanto o modo de depuração foi desativado. Como posso reativar o adb?

40

A tela do meu telefone está fisicamente quebrada, por isso não exibe nada, mas o aspecto do toque parece estar funcionando, pois eu posso desbloquear o telefone e obter feedback tátil.

Antes de substituí-lo, gostaria de fazer backup de alguns dados pessoais da memória incorporada no cartão SD. Tenho certeza de que, se conseguir que o adb reconheça o dispositivo, use o Android Screencast para ver onde estou tocando na tela e fazer o que preciso. O problema é que, quando eu o conecto, ele não é reconhecido, enquanto o meu emulador é.

Suspeito que talvez eu não tenha a depuração USB ativada, o que acho necessário para o adb funcionar. Se esse for o caso, alguém pode me dar screenshots do Droid X (executando 2.3.X) indo da tela inicial, através de todos os menus, para ativar o modo de depuração? Espero que eu consiga fazê-lo por acerto de contas e adb de lá.

Editar: não mudei nada sobre a ROM ou o iniciador; é tudo estoque.

Nate Parsons
fonte
Parece que o conector USB também foi quebrado. Você pode conectar o telefone ao seu computador? Nesse caso, talvez você possa configurá-lo para o modo de unidade USB.
Kevin M
Não, o conector USB está bom, eu acho. Quando eu o conecto, meu computador emite ruído 'dispositivo conectado', mas nada mais acontece.
Nate Parsons
Você já conseguiu isso?
Jason C
Infelizmente não, perdi os dados quando recebi um telefone de substituição. I deve permitir adb no meu telefone atual agora para evitar isso ...
Nate Parsons
Pode ser um pouco tarde, mas o droid X possui uma mini porta HDMI! Por que não usar isso?

Respostas:

12

Teve exatamente o mesmo problema recentemente (no Nexus S de um amigo, executando o Android 4.0 com uma tela e digitalizador e adb completamente quebrados desativados):

Obtenha um sistema de recuperação em execução com o adb ativado. Em seguida, use o console adb para acessar os dados do dispositivo e criar um backup. No Nexus S, você não pode usar o sdcard para obter os dados do dispositivo, portanto, é necessário usar o adb para isso.

Pré-requisitos:

  1. Telefone faz ter o modo fastboot com inicialização comando habilitado
  2. O telefone ainda funciona (exceto a tela)
  3. SDK instalado (com executáveis ​​adb + fastboot em funcionamento)
  4. Imagem de recuperação do CWM baixada para /tmp/cwm.zip (ativou adb quando iniciado)
  5. Linux com uudecode instalado (parte do pacote 'sharutils' no Ubuntu)

Como fazer:
a) Inicie o dispositivo no modo de inicialização rápida e inicialize a recuperação do CWM dessa maneira

me@workstation:~$ fastboot boot /tmp/cwm.zip  

b) aguarde algum tempo até que o CWM seja inicializado e faça o login no dispositivo

me@workstation:~$ adb shell  
shell@android:/ $ mkdir -p /tmp/backup/data /tmp/backup/sdcard  

Substitua DATA_DEV e SDCARD_DEV pelos nomes reais dos dispositivos,
dependendo do seu telefone, provavelmente é um deles:

  • DATA_DEV: /dev/block/mtdblock*
  • SDCARD_DEV: /dev/block/mmcblk*
  • use o dfcomando para encontrar candidatos por tamanho.

    shell@android:/ $ mount -oro <DATA_DEV> /tmp/backup/data  
    shell@android:/ $ mount -oro <SDCARD_DEV> /tmp/backup/sdcard  
    shell@android:/ $ exit  
    me@workstation:~$ adb shell tar czf - /tmp/backup \| uuencode foo | uudecode -o - > /tmp/backup.tar.gz
    

Advertências e explicações adicionais:

  • Por que uuencode? O console do ADB parece interceptar o fluxo de dados e, obviamente, insere um retorno de carro antes de cada alimentação de linha única . A codificação dos dados antes de transmiti-los pelo stdout do adb protege contra isso.
  • Será que não funciona em dispositivos criptografados
  • Você também pode repetir o processo em dispositivos não montados e transmitir todos /dev/block/*por um e descobrir qual é o que mais tarde
  • Você precisa encontrar uma imagem de recuperação CWM adequada
ce4
fonte
Eu digitei o primeiro fastbootcomando. Está preso <waiting for device>. O que isso significa?
Jason C
11
Um dispositivo no modo de inicialização rápida não foi detectado e o programa precisa de mais direitos ou está aguardando você conectar um dispositivo no modo de inicialização rápida. Que modelo você tem? Se for um Nexus ou um Sony: o gerenciador de inicialização está desbloqueado (caso contrário, a inicialização rápida não funciona)? Você precisa pressionar uma combinação única de teclas em cada dispositivo para inicializá-lo neste modo. Observe que os telefones Samsung não oferecem o modo de comando fastboot.
CE4
Obrigado. Eu tenho um Motorola Droid Razr Maxx HD. Preciso manter o botão liga / desliga + volume baixo durante a inicialização? Não sabia que era o modo "fastboot", mas acabei de ler no site da Motorola enquanto pesquisava outra coisa. Vou tentar quando chegar em casa do trabalho.
Jason C
Você provavelmente precisará consertá-lo, duvido que este modelo tenha um gerenciador de inicialização desbloqueado que possua o recurso de inicialização rápida.
CE4
Adição tardia: Em vez de usar uuencode, uma maneira mais fácil seria: adb shell "stty raw & tar czf - /tmp/backup" > /tmp/backup.tar.gz. O stty rawcomando diz ao sistema para enviar os dados "brutos" (ou seja, inalterados) - e não adicionar nenhum retorno de carro a ele. Portanto, um requisito a menos, conforme sttydisponível no dispositivo à medida que é enviado.
Izzy
9

O Droid X não possui um teclado físico - mas, se o fizesse, você poderia tentar isso em um terminal. Estou deixando esta resposta aqui para outros telefones com telas quebradas.

setprop persist.service.adb.enable 1

Isso ativa a depuração USB (em um HTC Dream executando o RC29) e é uma das maneiras de fazer root no Dream quando ele possui uma tela quebrada.

Broam
fonte
Onde digito isso?
Jason C
11
@ JasonC Em um shell de linha de comando do Android. Se você ainda não tem um método de chegar a um, não poderá configurá-lo com a tela quebrada.
precisa
Se o dispositivo suportar USB OTG, você poderá conectar um teclado USB e precisar conhecer a sequência de teclas ou a combinação de teclas para abrir um terminal e digite a linha de comando.
porg
3

Se o dispositivo for capaz do modo host USB, você poderá comprar um cabo USB-OTG (USB em movimento) e conectar um mouse USB ou um teclado USB para ignorar a tela de toque quebrada.

ce4
fonte
Eu tenho um dispositivo GT-I9305 que deve suportar USB OTG, pelo menos o 'google' diz isso, mas se eu conectar o mouse sem fio, nada acontece, alguma idéia de como fazer o cursor funcionar?
tomasb 14/05
@tomasb Você já conseguiu o reconhecimento do mouse?
Jason C
2
@ Jason Sim, eu estava. Tanto o mouse USB OTG quanto o Bluetooth, a solução é bastante complexa, mas ainda não encontrei nada mais simples (ou apenas a trabalhar), descrito aqui: android.stackexchange.com/a/69600/60711 Minha situação era um pouco mais complicada porque eu brilhou nova ROM, assim, meu android não inicializado.
tomasb