ADB Shell Commands List and Detailed Cheat Sheet

  • Rakesh
  • 15 de Março de 2020

ADB ou Android Debug Bridge é uma ferramenta de linha de comando desenvolvida para facilitar a comunicação entre um computador e um emulador ligado ou dispositivo Android. Usando comandos ADB e ADB Shell, podemos realizar várias acções num dispositivo. Para que possa executar comandos ADB e Fastboot, o pacote de ferramentas da plataforma SDK do Android deve ser instalado no seu computador Windows, Linux, ou MacOS. Neste artigo, vamos explorar uma enorme lista de comandos ADB Shell com uma folha de cheat sheet.

Não se esqueça de verificar a lista detalhada de comandos ADB explicando a função de cada um deles.

O que é ADB Shell?

Os comandos ADB podem ser usados para depurar dispositivos Android, instalar ou desinstalar aplicações, e obter informações sobre um dispositivo ligado. ADB funciona com a ajuda de três componentes chamados Cliente, Daemon, e Servidor. Se estiver curioso sobre como estes 3 componentes trabalham em conjunto para fazer funcionar comandos ADB e ADB shell, veja abaixo:

  • Client: É muito computador em que se usa um terminal de linha de comando para emitir um comando ADB. que envia comandos.
  • Daemon: Ou, ADBD é um processo de fundo que corre em ambos os dispositivos conectados. É responsável pela execução de comandos num emulador ligado ou dispositivo Android.
  • Servidor: Corre em segundo plano e funciona como uma ponte entre o Cliente e o Daemon e gere a comunicação. que gere a comunicação entre o cliente e o daemon.

comandos Shell ADBD dão acesso a uma Shell Unix que corre um comando directamente no seu dispositivo Android. Assim que executa um comando ‘adb shell’ no terminal de comando, envia um sinal para o seu dispositivo Android e activa a consola de comando da shell remota. Assim, comandos shell ADB permitem-lhe controlar o seu dispositivo Android.

Usando comandos ADB, pode reiniciar o seu dispositivo, empurrar e puxar ficheiros, criar uma cópia de segurança e restaurá-lo, carregar lateralmente um pacote zip de actualização, ou um APK. Os comandos ADB Shell, contudo, funcionam a um nível muito mais profundo. Podem ser usados para alterar a resolução da exibição do seu dispositivo, desinstalar bloatware ou aplicações de sistema, activar e desactivar características, modificar os ficheiros de sistema, e alterar a sua configuração directamente usando comandos do seu computador.

Atualmente, há mais tarefas que pode executar usando estes comandos, e abaixo vamos verificá-las todas com exemplos. Note que existem três pré-requisitos antes de poder fazer uso dos comandos ADB, Fastboot, e ADB shell.

  • Android SDK Platform-tools
  • USB Drivers para o seu dispositivo Android
  • Enable USB Debugging

Agora pode usar o ADB da Web numa janela de navegador da Web para executar comandos ADB num dispositivo ou computador Android sem instalar ferramentas ADB e Fastboot e drivers USB.

Finalmente, sem mais delongas, vamos prosseguir com a nossa lista de comandos ADB Shell.

Aviso: Não utilize os comandos mencionados nesta página a menos que saiba como utilizá-los e tenha algum conhecimento ou experiência prévia.

Lista de comandos Shell ADB & Cheat Sheet

Nesta folha de comandos Shell ADB, tentarei explicar a função de todos os comandos em linguagem simples.

adb shell

Este comando activa a consola de comandos da shell remota no smartphone ou tablet Android ligado.

adb shell pm uninstall

Este é realmente um comando Shell ADB muito útil. Usando isto, é possível desinstalar facilmente as aplicações de sistema indesejadas. Para o poder executar, deve emitir primeiro o comando ‘adb shell’. Pode então usar pm uninstall -k --user 0 ou pm uninstall --user 0 seguido pelo nome do pacote de aplicação Android, como mostrado abaixo.

pm uninstall -k --user 0 com.facebook.appmanager

-k: Guarde os dados da aplicação e a cache após a remoção do pacote. Se quiser que os dados da aplicação também sejam removidos, use o seguinte

pm uninstall --user 0 com.android.chrome

Se não souber o nome do pacote da aplicação que pretende remover, pode usar adb shell pm list packages para o encontrar.

Este comando pode ajudá-lo se quiser remover todos os bloatware do seu telefone Android. Note que a maioria das aplicações de sistema não tem a opção ‘Uninstall’ no dispositivo mas este comando funciona magicamente.

adb shell cmd package install-existing

Usando o comando acima, pode reinstalar uma aplicação de sistema desinstalada.

cmd package install-existing com.facebook.appmanager

adb shell pm disable-user -user 0

Se quiser desactivar uma aplicação do sistema no seu dispositivo Android, pode executar o comando acima seguido do nome do pacote da aplicação

pm disable-user --user 0 com.google.ar.core

adb shell pm clear -user 0

Utilizando este comando, pode apagar todos os dados associados a uma aplicação.

adb shell pm clear -user 0 com.facebook.appmanager

adb shell pm hide -user 0

Caso pretenda ocultar uma aplicação instalada no seu dispositivo Android, pode executar esta linha de comando seguida do nome do pacote da aplicação.

adb shell pm hide --user 0 com.whatsapp

adb shell pm listar pacotes

Utilizando o comando acima ADB Shell, pode imprimir a lista dos nomes dos pacotes da aplicação para todas as aplicações instaladas no seu dispositivo Android. Pode usar este comando com diferentes parâmetros para obter uma lista mais específica de pacotes de aplicações.

Por exemplo, se quiser listar apenas as aplicações do sistema, use

adb shell pm list packages -s

Para listar todas as aplicações de terceiros instaladas no seu telefone ou tablet Android, emite o seguinte comando.

adb shell pm list packages -3

Quer que o ADB Shell mostre a lista de todas as aplicações activadas ou desactivadas no seu dispositivo, experimente o comando com parâmetros como ‘-d’ (para aplicações desactivadas), ‘-e’ (para aplicações activadas), e ‘-u’ (para aplicações desinstaladas).

adb shell pm list packages -d
adb shell pm list packages -e
adb shell pm list packages -u

Para listar pacotes de aplicações com filtro de palavras-chave específicas.

adb shell pm list packages <keywords>

Para encontrar a lista de aplicações juntamente com os seus pacotes associados, executar o seguinte comando

adb shell pm list packages -f

P>Pode facilmente obter uma lista de pacotes de grupo por um determinado fabricante, ou vir um termo comum. Por exemplo, se quiser listar todas as aplicações pelo Google, pode usar o seguinte comando.

adb shell pm list packages | grep 'google'

P>Pode substituir “google” por “samsung”, “huawei”, “xiaomi”, “miui”, “evenwell”, “android”, “facebook”, etc., para obter a lista de pacotes desejada.

adb shell pm path <package-name>

Este comando mostra o caminho APK no sistema de ficheiros do dispositivo.

adb shell pm create-user

P>Pode usar este comando para criar um novo utilizador no seu dispositivo Android.

adb shell pm create-user username

adb shell pm remove-user

Apenas no caso de querer remover um utilizador do seu dispositivo, pode usar o comando acima com seguido do user_id como mostrado abaixo.

adb shell pm remove-user user 1

adb shell pm get-max-users

Ao utilizar este comando, pode imprimir o número máximo de utilizadores suportados num dispositivo Android.

adb shell pm list features

Utiliza o comando acima para imprimir todas as funcionalidades suportadas do sistema.

adb shell pm list permissions

Este comando imprime a lista de todas as permissões conhecidas, opcionalmente apenas aquelas em group. Pode utilizá-lo com os seguintes parâmetros.

  • -g: Organizar as permissões por grupo
  • -f: Imprimir todas as informações
  • -s: Breve resumo das permissões
  • -d: Listar apenas permissões perigosas
  • -u: Listar as permissões vistas apenas pelos utilizadores

adb shell pm list permissions -d group

adb shell settings

Você pode usar este comando para obter informações sobre determinadas configurações no seu dispositivo Android. Ao adicionar diferentes parâmetros, pode descobrir o fornecedor de definições do Android, o nível actual de volume do sistema, o som de notificação, a ID do dispositivo, o endereço MAC Bluetooth, o estado actual dos dados móveis, o estado actual do WiFi, etc.

  • adb shell settings list system
  • adb shell settings get system volume_system
adb shell settings get system notification_sound
  • adb shell settings list secure
  • adb shell settings get secure android_id
  • adb shell settings get secure bluetooth_address
  • adb shell settings get secure android_id
  • adb shell settings list global
  • adb shell settings get global mobile_data
  • adb shell settings get global wifi_on
  • adb shell dumpsys

    É um comando muito flexível que pode ser usado isoladamente ou com vários parâmetros para obter dados relacionados com a bateria, visualização, CPU, RAM, armazenamento, etc. A execução deste comando dar-lhe-á informações detalhadas sobre o software e a configuração de hardware do dispositivo Android.

    Nota: Para utilizar esta ferramenta, não se esqueça de adicionar automaticamente permissão ao seu manifesto Android android.permission.DUMP

    adb shell dumpsys

    Outras variações do comando são as seguintes:

    • adb shell dumpsys input
    • adb shell dumpsys display
    • adb shell dumpsys battery
    adb shell dumpsys batterystats
    adb shell dumpsys activity
    adb shell dumpsys cpuinfo
  • adb shell dumpsys battery
  • Executar o comando ‘adb shell dumpsys cpuinfo’, por exemplo, irá imprimir uma lista de utilização de CPU pelos processos e aplicações em execução no seu dispositivo Android, como se mostra abaixo:

    PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device PS C:\Users\Technastic\Desktop> adb shell dumpsys cpuinfo Load: 12.48 / 12.76 / 12.82 CPU usage from 138400ms to 89027ms ago: 8.1% 5954/system_server: 5.5% user + 2.5% kernel / faults: 9802 minor 5 major 3.1% 6485/com.android.phone: 2.2% user + 0.9% kernel / faults: 6575 minor 1 major 2.7% 6596/com.android.systemui: 2.1% user + 0.6% kernel / faults: 3178 minor 1 major 2.6% 26484/com.netflix.mediaclient: 1.3% user + 1.3% kernel / faults: 109 minor 2% 2231/sugov:0: 0% user + 2% kernel 1% 24100/kworker/u18:2: 0% user + 1% kernel 1% 5706/statsd: 0.9% user + 0.1% kernel 0.5% 3752/ueventd: 0.4% user + 0.1% kernel / faults: 25 minor 0.5% 5721/rild: 0.3% user + 0.2% kernel / faults: 20 minor 0.5% 5169/logd: 0.3% user + 0.2% kernel / faults: 43 minor 0.5% 5558/surfaceflinger: 0.3% user + 0.2% kernel / faults: 1 minor 0.4% 5170/servicemanager: 0.2% user + 0.2% kernel 0.4% 1/init: 0.3% user + 0% kernel 0.4% 19725/kworker/u17:3: 0% user + 0.4% kernel 0.3% 5546/lmkd: 0% user + 0.3% kernel 0.3% 5456/kworker/u17:1: 0% user + 0.3% kernel 0.3% 5715/argosd: 0.1% user + 0.1% kernel 0.3% 2233/sugov:4: 0% user + 0.3% kernel 0.2% 23487/kworker/u18:0: 0% user + 0.2% kernel 0.1% 23896/kworker/u16:3: 0% user + 0.1% kernel / faults: 6 minor 0.1% 8/rcu_preempt: 0% user + 0.1% kernel 0.1% 5718/lhd: 0% user + 0.1% kernel 0.1% 23489/kworker/0:2: 0% user + 0.1% kernel

    adb shell wm densidade

    O comando acima pode ser usado para descobrir a densidade de pixels do visor do seu dispositivo Android.

    adb shell dumpsys window displays

    Vai obter uma saída muito detalhada na janela de comando com informações como a resolução de pixels, FPS, e DPI do visor do seu telefone.

    Display: mDisplayId=0 init=1440x3040 560dpi base=1080x2280 420dpi cur=1080x2280 app=1080x2069 rng=1080x1017-2069x2069 deferred=false mLayoutNeeded=false mTouchExcludeRegion=SkRegion((0,0,1080,2280)) mDisplayInfo=DisplayInfo{"Built-in Screen, displayId 0", uniqueId "local:0", app 1080 x 2069, real 1080 x 2280, largest app 2069 x 2069, smallest app 1080 x 1017, mode 1, defaultMode 1, modes [{id=1, width=1440, height=3040, fps=60.000004}

    adb shell wm size

    P>Pode descobrir a resolução de ecrã do seu telefone com este comando.

    PS C:\Users\Technastic\Desktop> adb shell wm size Physical size: 1440x3040 Override size: 1080x2280

    Se quiser modificar a resolução de ecrã e a densidade de pixels do ecrã do seu Android. Se não tiver a certeza sobre a resolução do ecrã do seu dispositivo, execute o comando dado abaixo. Suponha que a resolução de ecrã do seu telefone é QHD+, pode facilmente alterá-la para Full HD+ ou HD+.

    • FHD
    adb shell wm size 1080x2220
    adb shell wm density 420
      >li>HD
    adb shell wm size 720x1560
    adb shell wm density 360

    ADB Shell comando para Enviar ecrã SMS

    Se quiser enviar uma mensagem de texto usando um comando, tente o seguinte código.

    adb shell am start -a android.intent.action.SENDTO -d sms:+918052000222 --es sms_body "Test --ez exit_on_sent false

    adb shell screencap

    Usando este comando, pode capturar uma imagem do ecrã e descarregá-la para o seu computador usando o comando ‘adb pull’ como descrito acima.

    adb shell screencap /sdcard/screenshot-01.png

    adb shell screenrecord

    Em dispositivos Android com Android 4.4 KitKat e superior, pode até gravar o ecrã do seu telefone ou tablet e descarregar o vídeo gravado para o seu computador. Além disso, também pode definir condições como duração do vídeo, resolução em pixels e bitrate do vídeo, etc.

    adb shell screenrecord /sdcard/screenrecord-01.mp4
    adb pull screenrecord /sdcard/screenrecord.mp4

    Pode parar a gravação do ecrã usando Ctrl+C. Caso pretenda gravar o ecrã com uma resolução específica, o seguinte comando permite-lhe definir largura e altura personalizadas em pixels.

    adb shell screenrecord --size 1920x1080 /sdcard/screenrecord-01.mp4

    Por defeito, a duração do gravador de ecrã do Android está definida para 180 segundos (3 minutos). Pode diminuir este limite de tempo de acordo com as suas necessidades (180 segundos é o limite máximo).

    adb shell screenrecord --time-limit 120 /sdcard/screenrecord-01.mp4

    Simplesmente, também pode determinar a taxa de bits da saída do vídeo. Para definir a taxa de bits para 4MBPS, por exemplo, pode usar o seguinte valor:

    adb shell screenrecord --bit-rate 6000000 /sdcard/screenrecord-01.mp4

    adb shell getprop & adb shell setprop

    Os comandos ‘getprop’ e ‘setprop’ podem ser usados para ver e definir ou alterar a configuração do ficheiro ‘build.prop’ nos dispositivos Android. O comando seguinte, por exemplo, mostra a informação das propriedades do sistema Android.

    adb shell getprop

    Below são mais alguns exemplos:

    getprop ro.build.version.sdk
    getprop ro.chipname

    Caso pretenda alterar o valor de uma entrada no build.prop, pode utilizar os comandos ‘adb shell setprop’. Veja os exemplos abaixo:

    getprop net.dns1 1.2.3.4
    setprop net.dns1 1.3.4.5
    getprop net.dns2 1.1.2.3
    setprop net.dns2 1.2.3.4

    Da mesma forma, se quiser alterar a configuração do tamanho do VMHeap no seu dispositivo Android, pode utilizar o seguinte comando.

    setprop dalvik.vm.heapsize 60m

    Há mais algumas variações do comando ‘adb shell getprop’ que lhe permitem ver informações sobre as propriedades do sistema Android, nível SDK API, versão do patch de segurança do Android, Soc, versão do Android, modelo do dispositivo, fabricante do dispositivo, número de série ADB, estado de desbloqueio OEM, impressão digital de construção do dispositivo Android, endereço MAC WiFi, etc.

    • adb shell getprop
    • adb shell getprop ro.build.version.sdk
    • adb shell getprop ro.build.version.security_patch
    • adb shell getprop ro.board.platform
    • adb shell getprop ro.build.version.release
    • adb shell getprop ro.vendor.product.model
    • adb shell getprop ro.product.manufacturer
    • adb shell getprop ro.serialno
    • adb shell getprop ro.oem_unlock_supported
    • adb shell getprop ro.bootimage.build.fingerprint

    adb -s shell getprop

    Se quiser verificar a configuração completa, serviços e informações sobre o seu telefone ou tablet Android, pode usar o comando acima. Primeiro, execute o comando e copie o valor alfanumérico do seu ID do dispositivo a partir da saída.

    PS C:\Users\Technastic\Desktop> adb devices List of devices attached RZ8M810BARJ device

    Então execute o seguinte comando. Não se esqueça de substituir o ID do dispositivo destacado a azul pelo ID do seu dispositivo.

    adb -s RZ8M810BARJ shell getprop

    adb shell cat /proc/cpuinfo

    Utilize o comando acima para obter informações completas sobre o CPU no seu telefone ou tablet.

    Possui propriedades do dispositivo Android

    Ao executar o seguinte comando, pode ver as propriedades do sistema.

    adb shell getprop | grep -e 'model' -e 'version.sdk' -e 'manufacturer' -e 'hardware' -e 'platform' -e 'revision' -e 'serialno' -e 'product.name' -e 'brand'

    adb shell cd

    Mudar o directório ADB shell usando ‘cd <directório>’

    adb shell

    Então executar o seguinte comando:

    cd /system

    adb shell rm

    Este comando permite-lhe apagar facilmente um ficheiro ou pasta do armazenamento do seu dispositivo Android. Abra a janela de comando, execute o comando ‘adb shell’ e depois tente o seguinte comando com parâmetros ‘-f’ (para apagar um ficheiro) e ‘-d’ (para remover um directório).

    rm -f /sdcard/com.whatsapp.apk
    rm -d /sdcard/WhatsApp

    Nota: Em vez de ‘rm-d’, também pode usar ‘rmdir’.

    adb shell mkdir

    Besides apagar um directório ou pasta existente, ADB Shell também lhe permite criar um novo directório ou subdirectório. Não só isso, pode definir permissões para a pasta recentemente criada.

    mkdir /sdcard/NewFolder mkdir -p /sdcard/NewFolder/NewFolder1 mkdir -m 644 /sdcard/NewFolder

    adb shell cp

    ‘cp’ significa ‘copy’. Pode utilizar este comando para copiar ficheiros e directórios localizados no seu dispositivo Android. Mais uma vez, precisa de começar com o comando ‘adb shell’ primeiro.

    para copiar ficheiros e depois colá-los, mencionando os locais de origem e destino como mostrado abaixo:

    cp /sdcard/OPWallpaperResources.apk /sdcard/DCIM/Camera

    adb shell mv

    ‘mv’ significa ‘move’. Este comando pode ser utilizado para mover um ficheiro armazenado no seu dispositivo de um local de origem para um local de destino.

    mv /sdcard/livewallpapers.apk /system/app

    O seguinte comando permitir-lhe-á mover um ficheiro com um novo nome.

    mv /sdcard/livewallpapers.apk /sdcard/Wallpapers

    adb shell top

    Para exibir a lista dos processos CPU de topo num telefone ou tablet Android, pode usar o comando acima. O monitor de processos da CPU pode ser parado utilizando Ctrl+C.

    adb shell ip

    P>Encontrar o endereço IP WiFi de um telefone ou tablet Android.

    ip -f inet addr show wlan0

    adb shell netstat

    Exibe as estatísticas de rede dos telefones Android.

    adb shell netstat

    Comandos KeyEvent

    Dispositivos KeyEvent suportam comandos KeyEvent que podem permitir-lhe executar certas acções que exigem que pressione um botão de hardware ou toque numa aplicação ou opção UI. Pode controlar o seu telefone Android ou dispositivo tablet simplesmente usando estes comandos KeyEvent. Estes comandos podem ser úteis se as teclas de hardware do seu dispositivo não estiverem a funcionar correctamente devido a alguns danos.

    • Turn Android device ON or OFF: adb shell input keyevent 2
    • Press Home button: adb shell input keyevent 3
    • Press Back button: adb shell input keyevent 4 
    Press Call button: adb shell input keyevent 5 
  • End a call: adb shell input keyevent 6 
  • Turn ON the camera: adb shell input keyevent 27 
  • Open wen browser: adb shell input keyevent 64 
  • Press the Enter key: adb shell input keyevent 66 
  • Press Backspace button: adb shell input keyevent 67 
  • Open Contacts app: adb shell input keyevent 207 
  • Decrease display brightness: adb shell input keyevent 220 
  • Increase Display brightness: adb shell input keyevent 221 
  • Cut text: adb shell input keyevent 277
  • Copy text: adb shell input keyevent 278
  • Paste text: adb shell input keyevent 279
  • P>Pode aprender mais sobre os comandos KeyEvent no portal dos programadores do Google.

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *