Skip to content

AdbCommands

Éloi Strée edited this page Jun 13, 2019 · 1 revision

Cool tuto on 15 commands to know: https://techwiser.com/list-adb-commands/

Required

  • Enable Developer mode first.
    • Go to Settings > About Phone > Build number.
    • Tap on build number until you get the message “You’re now a developer!”
  • Enable USB Debugging Options.
    • Go to Settings > Additional Settings > Developer option. Enable the USB Debugging option.

Commands

Tutorial for ADB:

CMD Details
adb devices List of connected devices
adb shell pm list packages List of application install
adb shell pm path com.example.someapp Get Path of the application on the device
adb pull /data/app/com.example.someapp.apk path/to/desired/destination Extract apk to the path location
adb install pathofthe.apk Install the application at the following path
adb shell am start -a android.settings.BLUETOOTH_SETTINGS Launch Bluetooth setting
adb tcpip 5555 Set the port of the tcp ip
adb connect 192.168.1.113:5555 Set the device as contactable at this ip
adb kill-server reset your adb host
scrcpy -c 1360:680:10:240 Steam the screen with a crop on the
scrcpy -f Just stream the screen
adb install btsettingslauncher.apk Install the Bluetooth app to set setting from the device.
adb uninstall btsettingslauncher.apk Uninstall the Bluetooth app to set setting from the device.
adb push local remote Send file to the Android (ex: /sdcard/foo.txt)
adb pull remote local Received file fro the android (ex: /sdcard/foo.txt)
adb shell ls List of files
adb reboot Reset devices

SCRCPY

--max-size or -m = maximum size allow for performance
--bit-rate 2M or -b 2M = set the bitrate (Bitrate ?)
--crop 1224:1440:0:0 or -c 1224:1440:0:0 = crop to at 0,0 for 1224 width and 1440 height
--no-display = no mirroring
-- record path.mp4 = record while mirroring or not (ctrl+c in terminal to stop)
--fullscreen or -f = use fullscreen option
--always-on-top or T = ???
--show-touches or -t = show touches on the devices ???

To Try

  • adb shell screencap /sdcard/screen.png
    • adb pull /sdcard/screen.png

Default Alt
https://youtu.be/GT3T2bEklkY adb shell setprop debug.oculus.textureWidth 512 adb shell setprop debug.oculus.textureHeight 512 512 768 1280 1536 2048 2560 3072

Default video capture bitrate (5Mbps) ECHO 9. Triple video capture bitrate (15Mbps) adb shell setprop debug.oculus.videoBitrate 5000000 5000000 - 15000000 - 25000000

Chromatic Aberration on off adb shell setprop debug.oculus.forceChroma 1 adb shell setprop debug.oculus.forceChroma 0

Chromatic Aberration level adb shell setprop debug.oculus.foveation.level 1 adb shell setprop debug.oculus.foveation.level 2 adb shell setprop debug.oculus.foveation.level 3 adb shell setprop debug.oculus.foveation.level 0

adb shell input keyevent KEYCODE_HOME

kill all processus
adb shell am kill-all adb stop com.my.app.package adb shell am force-stop com.my.app.package

Reboot to default adb shell reboot -p

Default setting adb shell setprop debug.oculus.videoResolution 1536 adb shell setprop debug.oculus.videoResolution 1024

adb shell screencap -p /sdcard/screen_%date:-4,4%%date:-7,2%%date:-10,2%%time:-10,10%.png


Oculus

https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-localprefs/
https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-ovrmetricstool/

adb shell setprop debug.oculus.omms.enableGraph (true|false) // show or hide the graph
adb shell setprop debug.oculus.omms.enableStats (true|false) // show or hide the stats

https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-localprefs/
adb install -r = override the current apk if found


Multi device

Good link: https://gist.github.com/teocci/67b0771fc0faa4282c45db8e2fd4c107 adb -s emulator-5555 install helloWorld.apk -s [serial number] | specific device -d | To all USB -e | To all remote -L Specific

For go scrcpy -c 1200:1000:10:240

PS: adb connect iphost:port can only connect in one to one.


List of ADB tool:


Launch application:


Input

  • adb shell input keyevent KEYCODE_POWER
  • adb shell input text "hey mon ami"

0 --> "KEYCODE_0" 1 --> "KEYCODE_SOFT_LEFT" 2 --> "KEYCODE_SOFT_RIGHT" 3 --> "KEYCODE_HOME" 4 --> "KEYCODE_BACK" 5 --> "KEYCODE_CALL" 6 --> "KEYCODE_ENDCALL" 7 --> "KEYCODE_0" 8 --> "KEYCODE_1" 9 --> "KEYCODE_2" 10 --> "KEYCODE_3" 11 --> "KEYCODE_4" 12 --> "KEYCODE_5" 13 --> "KEYCODE_6" 14 --> "KEYCODE_7" 15 --> "KEYCODE_8" 16 --> "KEYCODE_9" 17 --> "KEYCODE_STAR" 18 --> "KEYCODE_POUND" 19 --> "KEYCODE_DPAD_UP" 20 --> "KEYCODE_DPAD_DOWN" 21 --> "KEYCODE_DPAD_LEFT" 22 --> "KEYCODE_DPAD_RIGHT" 23 --> "KEYCODE_DPAD_CENTER" 24 --> "KEYCODE_VOLUME_UP" 25 --> "KEYCODE_VOLUME_DOWN" 26 --> "KEYCODE_POWER" 27 --> "KEYCODE_CAMERA" 28 --> "KEYCODE_CLEAR" 29 --> "KEYCODE_A" 30 --> "KEYCODE_B" 31 --> "KEYCODE_C" 32 --> "KEYCODE_D" 33 --> "KEYCODE_E" 34 --> "KEYCODE_F" 35 --> "KEYCODE_G" 36 --> "KEYCODE_H" 37 --> "KEYCODE_I" 38 --> "KEYCODE_J" 39 --> "KEYCODE_K" 40 --> "KEYCODE_L" 41 --> "KEYCODE_M" 42 --> "KEYCODE_N" 43 --> "KEYCODE_O" 44 --> "KEYCODE_P" 45 --> "KEYCODE_Q" 46 --> "KEYCODE_R" 47 --> "KEYCODE_S" 48 --> "KEYCODE_T" 49 --> "KEYCODE_U" 50 --> "KEYCODE_V" 51 --> "KEYCODE_W" 52 --> "KEYCODE_X" 53 --> "KEYCODE_Y" 54 --> "KEYCODE_Z" 55 --> "KEYCODE_COMMA" 56 --> "KEYCODE_PERIOD" 57 --> "KEYCODE_ALT_LEFT" 58 --> "KEYCODE_ALT_RIGHT" 59 --> "KEYCODE_SHIFT_LEFT" 60 --> "KEYCODE_SHIFT_RIGHT" 61 --> "KEYCODE_TAB" 62 --> "KEYCODE_SPACE" 63 --> "KEYCODE_SYM" 64 --> "KEYCODE_EXPLORER" 65 --> "KEYCODE_ENVELOPE" 66 --> "KEYCODE_ENTER" 67 --> "KEYCODE_DEL" 68 --> "KEYCODE_GRAVE" 69 --> "KEYCODE_MINUS" 70 --> "KEYCODE_EQUALS" 71 --> "KEYCODE_LEFT_BRACKET" 72 --> "KEYCODE_RIGHT_BRACKET" 73 --> "KEYCODE_BACKSLASH" 74 --> "KEYCODE_SEMICOLON" 75 --> "KEYCODE_APOSTROPHE" 76 --> "KEYCODE_SLASH" 77 --> "KEYCODE_AT" 78 --> "KEYCODE_NUM" 79 --> "KEYCODE_HEADSETHOOK" 80 --> "KEYCODE_FOCUS" 81 --> "KEYCODE_PLUS" 82 --> "KEYCODE_MENU" 83 --> "KEYCODE_NOTIFICATION" 84 --> "KEYCODE_SEARCH" 85 --> "KEYCODE_MEDIA_PLAY_PAUSE" 86 --> "KEYCODE_MEDIA_STOP" 87 --> "KEYCODE_MEDIA_NEXT" 88 --> "KEYCODE_MEDIA_PREVIOUS" 89 --> "KEYCODE_MEDIA_REWIND" 90 --> "KEYCODE_MEDIA_FAST_FORWARD" 91 --> "KEYCODE_MUTE" 92 --> "KEYCODE_PAGE_UP" 93 --> "KEYCODE_PAGE_DOWN" 94 --> "KEYCODE_PICTSYMBOLS" ... 122 --> "KEYCODE_MOVE_HOME" 123 --> "KEYCODE_MOVE_END" http://developer.android.com/reference/android/view/KeyEvent.html sendevent: https://www.softteco.com/blog/android-decoding-click-low-level-event/ ?

Input

https://stackoverflow.com/questions/7789826/adb-shell-input-events adb shell input tap 500 1450

Swipe

https://stackoverflow.com/questions/7789826/adb-shell-input-events adb shell input swipe 100 500 100 1450 100



Launch application:

adb devices -l

  • adb -s 123abc12 shell getprop ro.product.model
    • ro.product.device
    • ro.product.name

Can have ip address form ADB ? http://rapidprogrammer.com/how-to-get-android-ip-address-from-adb-commandline-shell


Access IP from adb ? https://stackoverflow.com/questions/1720346/how-to-get-the-android-emulators-ip-address


Access ip of the devices: adb tcpip 5555
adb shell ip addr show wlan0

    link/ether 2c:26:17:44:dd:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.114/24 brd 192.168.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fd34:12f9:b1ce:9100:9041:a575:693c:83da/64 scope global temporary dynamic
       valid_lft 6926sec preferred_lft 3326sec
    inet6 fd34:12f9:b1ce:9100:2e26:17ff:fe44:dd34/64 scope global mngtmpaddr dynamic
       valid_lft 6926sec preferred_lft 3326sec
    inet6 fe80::2e26:17ff:fe44:dd34/64 scope link
       valid_lft forever preferred_lft forever

Launch web browser

adb shell am start -a android.intent.action.VIEW -d 'http://stackoverflow.com/?uid=isme\&debug=true'


Cool tool:adbLink https://www.jocala.com/

Clone this wiki locally