Desenvolvimento Android
Diretório de artigos
Prefácio
Sintaxe de comando de uso básico
A sintaxe básica do comando adb é a seguinte:
adb [-d|-e|-s <serialNumber>] <command>
Se houver apenas um dispositivo/emulador conectado, você pode omitir a parte [-d|-e|-s] e usar o adb diretamente.
Especifique o dispositivo de destino para o comando
Se você tiver vários dispositivos/emuladores conectados, será necessário especificar o dispositivo de destino para o comando.
Significado do parâmetro
-d especifica o único dispositivo Android atualmente conectado via USB como o comando target
-e especifica o único simulador atualmente em execução como o comando target
-s especifica o dispositivo/simulador com o número serialNumber correspondente como o comando target
O parâmetro -s é mais comumente usado quando vários dispositivos/simuladores estão conectados. O serialNumber pode ser obtido através do comando adb devices. como:
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
cf264b8f, emulator-5554 e 10.129.164.6:5555 na saída são serialNumber.
Por exemplo, você deseja especificar o dispositivo cf264b8f para executar o comando adb para obter a resolução da tela:
adb -s cf264b8f shell wm size
Outro exemplo é se você deseja instalar um aplicativo para o dispositivo 10.129.164.6:5555 (o formato serialNumber deste formato é:, geralmente um dispositivo conectado sem fio ou um emulador Android de terceiros, como Genymotion):
adb -s 10.129.164.6:5555 install test.apk
Ao encontrar vários dispositivos/simuladores, use estes parâmetros para especificar o dispositivo de destino para o comando. A descrição a seguir é simplificada e não será repetida.
começar parar
Inicie o comando do servidor adb:
adb start-server
(Geralmente, não há necessidade de executar este comando manualmente. Se for descoberto que o servidor adb não foi iniciado durante a execução do comando adb, ele será automaticamente chamado.)
Pare o comando do servidor adb:
adb kill-server
Verifique a versão do adb
Ordem:
adb version
Exemplo de saída:
Android Debug Bridge version 1.0.36
Revision 8f855a3d9b35-android
Execute adbd com privilégios de root
O princípio operacional do adb é que o servidor adb no PC estabelece uma conexão com o daemon adbd no telefone celular e, em seguida, o cliente adb no PC encaminha o comando através do servidor adb, e o adbd analisa e executa o comando após receber isto.
Portanto, se o adbd for executado com permissões normais, alguns comandos que requerem permissões de root não poderão ser executados diretamente com o adb xxx. Neste momento, você pode executar o comando com adb shell e depois su, ou pode deixar o adbd executá-lo com privilégios de root, para que você possa executar comandos de alto privilégio à vontade.
Ordem:
adb root
Saída normal:
restarting adbd as root
Agora execute adb shell novamente e veja se o prompt da linha de comando muda para #?
Alguns telefones celulares não podem executar o adb root com permissões de root após o root. Por exemplo, alguns modelos Samsung solicitarão que o adbd não possa ser executado como root em compilações de produção. Nesse caso, você pode instalar o adbd Insecure primeiro e depois tentar o adb root.
Da mesma forma, se desejar restaurar o adbd para permissões não root, você pode usar o comando adb unroot.
Especifique a porta de rede do servidor adb
Ordem:
adb -P <port> start-server
A porta padrão é 5037.
Gerenciamento de conexão de dispositivos
Consultar dispositivos/simuladores conectados
Ordem:
adb devices
Exemplo de saída:
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
O formato de saída é [serialNumber] [state], serialNumber é o que costumamos chamar de SN e state tem os seguintes tipos:
offline —— 表示设备未连接成功或无响应。
device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。
no device —— 没有设备/模拟器连接。
A saída acima mostra que três dispositivos/emuladores estão conectados atualmente, cf264b8f, emulator-5554 e 10.129.164.6:5555 são seus SNs, respectivamente. Pode-se ver pelo nome emulator-5554 que é um emulador Android, e o serialNumber na forma de 10.129.164.6:5555 é geralmente um dispositivo conectado sem fio ou um emulador Android de terceiros, como Genymotion.
Saída de exceção comum:
没有设备/模拟器连接成功。
List of devices attached
设备/模拟器未连接到 adb 或无响应。
List of devices attached
cf264b8f offline
Conexão USB
Para usar o adb normalmente através da conexão USB, você precisa garantir os seguintes pontos:
O status do hardware é normal.
Incluindo que o dispositivo Android está ligado normalmente e o cabo USB e várias interfaces estão intactos.
As opções de desenvolvedor do dispositivo Android e o modo de depuração USB estão ativados.
Você pode verificar isso em "Configurações" - "Opções do desenvolvedor" - "Depuração do Android".
Se você não encontrar as opções do desenvolvedor nas configurações, será necessário usar um ovo de páscoa para fazê-lo aparecer: Vá em “Configurações” - “Sobre o telefone” e clique em “Número da versão” 7 vezes seguidas.
O status do driver do dispositivo é normal.
Parece que você não precisa se preocupar com isso no Linux e no Mac OS Existe um ponto de exclamação ou interrogação amarelo? Caso contrário, significa que o status do driver é bom. Caso contrário, você pode baixar um programa de assistente móvel para instalar o driver primeiro.
Após conectar o computador e o dispositivo via cabo USB, confirme o status.
adb devices
如果能看到
xxxxxx device
A conexão foi bem-sucedida.
Link
Link de referência 1: https://blog.csdn.net/qq_26394845/article/details/116752349
Link original: https://github.com/mzlogin/awesome-adb/blob/master/README.md