Posso ativar a depuração USB usando adb?

16

Eu possuo um Samsung Galaxy S3 e a tela está quebrada e a depuração USB também está desativada.

Como posso habilitá-lo usando ./adbcomandos? Eu já fiz estas etapas:

  • data/data/com.android.providers.settings/databases/settings.dbadb_enabledvalor alterado de 0 para 1.
  • Também editado build.propem /system.

Depois de fazer tudo isso, o telefone parece empedrado, não está ligado. Tudo o que quero fazer é ativar a depuração USB e conectá-lo ao Vysor (beta) para que eu possa controlá-lo no meu computador.

TheOnlyAnil
fonte
1
Bem-vinda! Boa pergunta. +1. Por que você deseja controlar remotamente o telefone?
unforgettableidSupportsMonica
Obrigado ... Porque a tela está quebrada e eu quero procurar os dados nela. Embora eu percebi isso na noite passada ... :)
TheOnlyAnil
A maneira correta de ativar a depuração USB seria descompactar o boot.img, editar o init.rc (habilitar adb e desativar a verificação do RSA), reembalar o boot.img e inicializar o boot.img sem piscar. Depois que o processo de edição estiver confirmado, instale o boot.img no dispositivo.
precisa saber é o seguinte

Respostas:

12

Eu consegui trabalhar :)

NOTA : Isso requer um carregador de inicialização desbloqueado.

  • Conecte o dispositivo ao Mac ou PC recovery mode. (Eu tive que mapear o processo em minha mente enquanto a tela estava quebrada).
  • Agora abra o terminal / CMD no computador e vá para platform-tools/. digite e digite ./adb devicespara verificar se o dispositivo está conectado no modo de recuperação.
  • Agora digite ./adb shell mount datae ./adb shell mount systempara montar os respectivos diretórios.
  • Obtenha o persist.sys.usb.configarquivo no seu sistema usando./adb pull /data/property/persist.sys.usb.config /Your directory
  • Agora abra esse arquivo em um editor de texto e edite-o mtp,adbe salve.
  • Agora empurre o arquivo de volta no dispositivo; ./adb push /your-directory/persist.sys.usb.config /data/property
  • Obtenha o arquivo build.prop; ./adb pull /system/build.prop /your-directory
  • Adicione estas linhas:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = mtp, adb
  • Empurre o build.prop de volta para o dispositivo; ./adb push /your-dir/build.prop /system/

Dessa forma, você ativou a depuração USB no seu dispositivo. Mas você ainda não pode se conectar. Por quê? Porque pede verificação RSA. Se você pudesse visualizar sua tela, poderia tocar facilmente YESpara autorizar o dispositivo. Atualmente, estou tentando contornar isso. Eu quero muito reviver meu telefone morto. Se você conhece alguma maneira de fazer isso, compartilhe :)

TheOnlyAnil
fonte
Você está executando uma recuperação personalizada?
Firelord
Não. Recuperação de estoque é.
TheOnlyAnil 27/08/2015
1
Sobre a parte de confirmação da RSA pelo usuário, se você foi inicializado no sistema operacional Android e está de alguma forma confirmado que a tela está exibindo uma caixa de diálogo para confirmação, você pode muito bem usar adb shell input keyeventpara escolher SIM. Veja o Keyevent aqui . É um tiro no escuro, mas pode muito bem valer a pena disparar.
Firelord
@Firelord Eu tentei fazer isso. Mas disse erro de autorização. Parece que eu tenho para autorizá-lo primeiro e depois fazer qualquer coisa ...
TheOnlyAnil
1
Ahh! Desculpe por sugerir algo que não funcionaria. O que eu estava pensando? Se o acesso ao ADB não estiver autorizado, nenhuma maneira adb shell inputfuncionaria. Desculpe de novo! Vou ver se há alguma maneira de ignorar a autorização de alguma forma.
Firelord
4

Para a verificação da RSA que você pediu para ignorar, não sei se funcionaria no seu dispositivo, mas funcionou no meu pequeno experimento. No Lollipop, as chaves ADB (após a autorização) são salvas em /data/misc/adb/adb_keys. Sua chave privada é salva no computador. No Linux o local do diretório é $HOME/.android/. No Windows, isso geralmente se traduz em %USERPROFILE%\.android, mas as chaves podem acabar C:\Windows\System32\config\systemprofile\.androidem alguns casos. ( Fonte )

Existe um método descrito aqui pelo ashoke que pode ajudar a ignorar a autorização.

No entanto, no meu pirulito, o método varia. Percebi que, na minha ROM primária e secundária do Lollipop, adb_keysa mesma chave tinha na verdade. Tudo o que fiz foi revogar a autorização da ROM secundária (arquivo excluído automaticamente), dispositivo desconectado do PC, copiado adb_keysda ROM Primária para a ROM secundária, conectar o dispositivo ao PC e pronto! Não me pediram essa autorização. Eu verifiquei a autorização usando adb devicese estava tudo bem.

Experimente a resposta vinculada primeiro. Autorize um telefone Android diferente, copie as chaves no dispositivo a partir do modo de recuperação e veja se funciona.

Senhor do Fogo
fonte
Ei, obrigado. I transferida adb_keys de nota 2 do S3 e funcionou :)
TheOnlyAnil
Esta é a informação necessária para corrigir a resposta aceita. Bom trabalho. 1
HasH_BrowN
2
Para aqueles que executam um sistema operacional baseado em Unix, adb push ~/.android/adbkey.pub /data/misc/adb/adb_keysfunciona de maneira confiável.
Chris Olin
@ ChrisOlin: obrigado por sua contribuição. Mas suponho que o adb esteja em execução no modo raiz (adb root), caso contrário, o usuário não poderá colocar diretamente um arquivo em / data / misc /. Corrigir?
Firelord
Não exatamente, mas você levanta uma boa pergunta. Se você estiver tentando habilitar a depuração USB através do ADB, precisará ser inicializado na recuperação para fazer isso. Os shells de recuperação (pelo menos com TWRP) são padronizados como raiz. Caso contrário, sim, o usuário não poderá enviar diretamente para / data / misc.
21716 Chris Olin