adb help // List all comands
  
 == Adb Server
 adb kill-server
 adb start-server
  
 == Adb Reboot
 adb reboot
 adb reboot recovery
 adb reboot-bootloader
 adb root //restarts adb with root permissions
  
 == Shell
 adb shell // Open or run commands in a terminal on the host Android device.
  
 == Devices
 adb usb
 adb devices //show devices attached
 adb devices -l //devices (product/model)
 adb connect ip_address_of_device
  
 == Get device android version
 adb shell getprop ro.build.version.release
  
 == LogCat
 adb logcat
 adb logcat -c // clear // The parameter -c will clear the current logs on the device.
 adb logcat -d > [path_to_file] // Save the logcat output to a file on the local system.
 adb bugreport > [path_to_file] // Will dump the whole device information like dumpstate, dumpsys and logcat output.
  
 == Files
 adb push [source] [destination] // Copy files from your computer to your phone.
 adb pull [device file location] [local file location] // Copy files from your phone to your computer.
  
 == App install
 adb -e install path/to/app.apk
  
 -d – directs command to the only connected USB device…
 -e – directs command to the only running emulator…
 -s <serial number> …
 -p <product name or path> …
 The flag you decide to use has to come before the actual adb command:
  
 adb devices | tail -n +2 | cut -sf 1 | xargs -IX adb -s X install -r com.myAppPackage // Install the given app on all connected devices.
  
 == Uninstalling app from device
 adb uninstall com.myAppPackage
 adb uninstall <app .apk name>
 adb uninstall -k <app .apk name> -> “Uninstall .apk withour deleting data”
  
 adb shell pm uninstall com.example.MyApp
 adb shell pm clear [package] // Deletes all data associated with a package.
  
 adb devices | tail -n +2 | cut -sf 1 | xargs -IX adb -s X uninstall com.myAppPackage //Uninstall the given app from all connected devices
  
 == Update app
 adb install -r yourApp.apk // -r means re-install the app and keep its data on the device.
 adb install –k <.apk file path on computer>
  
 == Home button
 adb shell am start -W -c android.intent.category.HOME -a android.intent.action.MAIN
  
 == Activity Manager
 adb shell am start -a android.intent.action.VIEW
 adb shell am broadcast -a ‘my_action’
  
 adb shell am start -a android.intent.action.CALL -d tel:+972527300294 // Make a call
  
 // Open send sms screen with phone number and the message:
 adb shell am start -a android.intent.action.SENDTO -d sms:+972527300294 –es sms_body “Test –ez exit_on_sent false
  
 // Reset permissions
 adb shell pm reset-permissions -p your.app.package
 adb shell pm grant [packageName] [ Permission] // Grant a permission to an app.
 adb shell pm revoke [packageName] [ Permission] // Revoke a permission from an app.
  
  
 // Emulate device
 adb shell wm size 2048×1536
 adb shell wm density 288
 // And reset to default
 adb shell wm size reset
 adb shell wm density reset
  
 == Print text
 adb shell input text ‘Wow, it so cool feature’
  
 == Screenshot
 adb shell screencap -p /sdcard/screenshot.png
  
 $ adb shell
 shell@ $ screencap /sdcard/screen.png
 shell@ $ exit
 $ adb pull /sdcard/screen.png
  
 
 adb shell screenrecord /sdcard/NotAbleToLogin.mp4
  
 $ adb shell
 shell@ $ screenrecord –verbose /sdcard/demo.mp4
 (press Control + C to stop)
 shell@ $ exit
 $ adb pull /sdcard/demo.mp4
  
 == Key event
 adb shell input keyevent 3 // Home btn
 adb shell input keyevent 4 // Back btn
 adb shell input keyevent 5 // Call
 adb shell input keyevent 6 // End call
 adb shell input keyevent 26 // Turn Android device ON and OFF. It will toggle device to on/off status.
 adb shell input keyevent 27 // Camera
 adb shell input keyevent 64 // Open browser
 adb shell input keyevent 66 // Enter
 adb shell input keyevent 67 // Delete (backspace)
 adb shell input keyevent 207 // Contacts
 adb shell input keyevent 220 / 221 // Brightness down/up
 adb shell input keyevent 277 / 278 /279 // Cut/Copy/Paste
  
 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”
 // https://developer.android.com/reference/android/view/KeyEvent.html
  
  
 == ShPref
 # replace org.example.app with your application id
  
 # Add a value to default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key key_name –es value “hello world!”‘
  
 # Remove a value to default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.REMOVE –es key key_name’
  
 # Clear all default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.CLEAR –es key key_name’
  
 # It’s also possible to specify shared preferences file.
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es name Game –es key level –ei value 10’
  
 # Data types
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key string –es value “hello world!”‘
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key boolean –ez value true’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key float –ef value 3.14159’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key int –ei value 2015’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key long –el value 9223372036854775807’
  
 # Restart application process after making changes
 adb shell ‘am broadcast -a org.example.app.sp.CLEAR –ez restart true’
  
 == Monkey
 adb shell monkey -p com.myAppPackage -v 10000 -s 100 // monkey tool is generating 10.000 random events on the real device
  
 == Paths
 /data/data/<package>/databases (app databases)
 /data/data/<package>/shared_prefs/ (shared preferences)
 /data/app (apk installed by user)
 /system/app (pre-installed APK files)
 /mmt/asec (encrypted apps) (App2SD)
 /mmt/emmc (internal SD Card)
 /mmt/adcard (external/Internal SD Card)
 /mmt/adcard/external_sd (external SD Card)
  
 adb shell ls (list directory contents)
 adb shell ls -s (print size of each file)
 adb shell ls -R (list subdirectories recursively)
  
 == Device onformation
 adb get-statе (print device state)
 adb get-serialno (get the serial number)
 adb shell dumpsys iphonesybinfo (get the IMEI)
 adb shell netstat (list TCP connectivity)
 adb shell pwd (print current working directory)
 adb shell dumpsys battery (battery status)
 adb shell pm list features (list phone features)
 adb shell service list (list all services)
 adb shell dumpsys activity <package>/<activity> (activity info)
 adb shell ps (print process status)
 adb shell wm size (displays the current screen resolution)
 dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’ (print current app’s opened activity)
  
 == Package info
 adb shell list packages (list package names)
 adb shell list packages -r (list package name + path to apks)
 adb shell list packages -3 (list third party package names)
 adb shell list packages -s (list only system packages)
 adb shell list packages -u (list package names + uninstalled)
 adb shell dumpsys package packages (list info on all apps)
 adb shell dump <name> (list info on one package)
 adb shell path <package> (path to the apk file)
  
 ==Configure Settings Commands
 adb shell dumpsys battery set level <n> (change the level from 0 to 100)
 adb shell dumpsys battery set status<n> (change the level to unknown, charging, discharging, not charging or full)
 adb shell dumpsys battery reset (reset the battery)
 adb shell dumpsys battery set usb <n> (change the status of USB connection. ON or OFF)
 adb shell wm size WxH (sets the resolution to WxH)
  
  
 == Device Related Commands
 adb reboot-recovery (reboot device into recovery mode)
 adb reboot fastboot (reboot device into recovery mode)
 adb shell screencap -p “/path/to/screenshot.png” (capture screenshot)
 adb shell screenrecord “/path/to/record.mp4” (record device screen)
 adb backup -apk -all -f backup.ab (backup settings and apps)
 adb backup -apk -shared -all -f backup.ab (backup settings, apps and shared storage)
 adb backup -apk -nosystem -all -f backup.ab (backup only non-system apps)
 adb restore backup.ab (restore a previous backup)
 adb shell am start|startservice|broadcast <INTENT>[<COMPONENT>]
 -a <ACTION> e.g. android.intent.action.VIEW
 -c <CATEGORY> e.g. android.intent.category.LAUNCHER (start activity intent)
  
 adb shell am start -a android.intent.action.VIEW -d URL (open URL)
 adb shell am start -t image/* -a android.intent.action.VIEW (opens gallery)
  
 == Logs
 adb logcat [options] [filter] [filter] (view device log)
 adb bugreport (print bug reports)
  
 == Other
 adb backup // Create a full backup of your phone and save to the computer.
 adb restore // Restore a backup to your phone.
 adb sideload // Push and flash custom ROMs and zips from your computer.
  
 fastboot devices
 // Check connection and get basic information about devices connected to the computer.
 // This is essentially the same command as adb devices from earlier.
 //However, it works in the bootloader, which ADB does not. Handy for ensuring that you have properly established a connection.
  
  
 ——————————————————————————–
 Shared Preferences
  
 # replace org.example.app with your application id
  
 # Add a value to default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key key_name –es value “hello world!”‘
  
 # Remove a value to default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.REMOVE –es key key_name’
  
 # Clear all default shared preferences.
 adb shell ‘am broadcast -a org.example.app.sp.CLEAR –es key key_name’
  
 # It’s also possible to specify shared preferences file.
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es name Game –es key level –ei value 10’
  
 # Data types
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key string –es value “hello world!”‘
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key boolean –ez value true’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key float –ef value 3.14159’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key int –ei value 2015’
 adb shell ‘am broadcast -a org.example.app.sp.PUT –es key long –el value 9223372036854775807’
  
 # Restart application process after making changes
 adb shell ‘am broadcast -a org.example.app.sp.CLEAR –ez restart true’
 ——————————————————————————–
  
 === Few bash snippets ===
 @Source (https://jonfhancock.com/bash-your-way-to-better-android-development-1169bc3e0424)
  
 === Using tail -n
 //Use tail to remove the first line. Actually two lines. The first one is just a newline. The second is “List of devices attached.”
 $ adb devices | tail -n +2
  
 === Using cut -sf
 // Cut the last word and any white space off the end of each line.
 $ adb devices | tail -n +2 | cut -sf -1
  
 === Using xargs -I
 // Given the -I option, xargs will perform an action for each line of text that we feed into it.
 // We can give the line a variable name to use in commands that xargs can execute.
 $ adb devices | tail -n +2 | cut -sf -1 | xargs -I X echo X aw yiss
  
 === Three options below together
 // Will print android version of all connected devices
 adb devices | tail -n +2 | cut -sf -1 | xargs -I X adb -s X shell getprop ro.build.version.release
  
 === Using alias
 — Example 1
 alias tellMeMore=echo
 tellMeMore “hi there”
 Output => hi there
 — Example 2
 // Define alias
 alias apkinstall=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X install -r $1″
 // And you can use it later
 apkinstall ~/Downloads/MyAppRelease.apk // Install an apk on all devices
 — Example 3
 alias rmapp=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X uninstall $1″
 rmapp com.example.myapp // Uninstall a package from all devices
 — Example 4
 alias clearapp=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X shell pm clear $1″
 clearapp com.example.myapp // Clear data on all devices (leave installed)
 — Example 5
 alias startintent=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X shell am start $1″
 startintent https://twitter.com/JonFHancock // Launch a deep link on all devices
  
  
 Setting up your .bash_profile
 Finally, to make this all reusable even after rebooting your computer (aliases only last through the current session), we have to add these to your .bash_profile. You might or might not already have a .bash_profile, so let’s make sure we append to it rather than overwriting it. Just open a terminal, and run the following command
  
 touch .bash_profile && open .bash_profile
  
 This will create it if it doesn’t already exist, and open it in a text editor either way. Now just copy and paste all of the aliases into it, save, and close.
  
 alias startintent=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X shell am start $1″
 alias apkinstall=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X install -r $1″
 alias rmapp=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X uninstall $1″
 alias clearapp=”adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X shell pm clear $1″
  
  
 ===============================================================
 Sources:
 – Internet
 – https://www.automatetheplanet.com/adb-cheat-sheet/
  • Download Trafix
  • Install
  • Uninstall portable tor
  • install tor
  • copy installed tor from desktop to place of the portable tor.
  • Run Trafix.
  • Create a page at facebook to your website.
  • Create a page at instagram to your website.
  • From within facebook and instagram, copy their link to your site (a link from within facebook and instalgram to your site).
  • Paste those links to trafix.

General

  • A home that has elements that can be controlled by Voice and / or smartphone app.
  • What elements are controlled?
    • Lights
    • Hot water boiler
    • Air conditioner
    • TV
    • All IR controlled elements
    • Many many more
  • The next step of evolution for smart-home will be to integrate with Google Home.
  • What you will achieve with Google home (google play / app store)?
    • Share with other home members the ability to control devices with having them to install 3rd party apps.
    • Voice control over the devices.
  • Configure your devices by eWelink sonoff or by broadlink.
  • Add devices to google home and link accounts of Sonoff and Broadlink to google home.
  • Vocie control by smartphone or by google home app the devices at your home.
  • Note for Broadlink:
    • In order to integrate with Google home, user must use “Intelligent home control” – IHC app.
    • At least one scene must be defined at IHC app in order to be able to control the device.
    • How to operate the device by voice?
      • At google home state:
        • “Hey google” (or “OK google”) “turn on” (or “switch on”) [scene name at IHC] .
  • How to connect
  • Step 1 – wiring as follows:
  • Step 2 – Long click on the button of the Sonoff
    • Device will enter setup mode.
  • Step 3 – Configure Ewelink app with sonoff device.
  • Here is how everything is connected:
    • Android Mobile->Same wifi network->Android TV streamer->HDMI cable->TV
  • My own configuration:
    • Xiaomi MI5->Wifi 5GHz (No less)>Xiaomi Mibox 3 streamer android TV v.8.
  • How tocast from Mobile to Tv?
    • Step 1: Android mobile install Google home app.
    • Step 2: On the streamer Android TV, install app AirScreen.
    • Step 3: Run the AirScreen app on streamer.
    • Step 4: Run Google home app on mobile.
    • Step 5: at google home app, select “Cast screen / Audio”and select a device that runs AirScreen.
      • There can be more than 1 device.

01. My Account

Gives you quick access to the settings and tools that let you safeguard your data, protect your privacy, and decide how your information can make Google tools and services work better for you.

https://myaccount.google.com/?pli=1

02. Activity Control

From better commute options in Maps to quicker results in Search, the data we save with your account can make Google services a lot more useful to you. Here are your controls for managing this data and editing your activity.

https://myaccount.google.com/activitycontrols?pli=1&otzr=1

03. My Activity

Ability to view and delete our activities on google.

https://myactivity.google.com/myactivity

04. External Links:

http://www.calcalist.co.il/internet/articles/0,7340,L-3692248,00.html

Download the articale