tree: 173403bd147e12566a79f98e550ab009e9783423 [path history] [tgz]
  1. binder/
  2. tests/
  3. .clang-format
  4. Android.bp
  6. AndroidTest.xml
  8. dumpstate.cpp
  9. dumpstate.h
  10. dumpstate.rc
  11. DumpstateInternal.cpp
  12. DumpstateInternal.h
  13. DumpstateService.cpp
  14. DumpstateService.h
  15. DumpstateUtil.cpp
  16. DumpstateUtil.h
  18. utils.cpp

dumpstate development tips

To build dumpstate

Do a full build first:

m -j dumpstate

Then incremental ones:

mmm -j frameworks/native/cmds/dumpstate

If you're working on device-specific code, you might need to build them as well. Example:

mmm -j frameworks/native/cmds/dumpstate device/acme/secret_device/dumpstate/ hardware/interfaces/dumpstate

To build, deploy, and take a bugreport

mmm -j frameworks/native/cmds/dumpstate && adb push ${OUT}/system/bin/dumpstate system/bin && adb shell am bug-report

To build, deploy, and run unit tests

First create /data/nativetest:

adb shell mkdir /data/nativetest

Then run:

mmm -j frameworks/native/cmds/dumpstate/ && adb push ${OUT}/data/nativetest/dumpstate_test* /data/nativetest && adb shell /data/nativetest/dumpstate_test/dumpstate_test

And to run just one test (for example, DumpstateTest.RunCommandNoArgs):

mmm -j frameworks/native/cmds/dumpstate/ && adb push ${OUT}/data/nativetest/dumpstate_test* /data/nativetest && adb shell /data/nativetest/dumpstate_test/dumpstate_test --gtest_filter=DumpstateTest.RunCommandNoArgs

To take quick bugreports

adb shell setprop dumpstate.dry_run true

To change the dumpstate version

adb shell setprop dumpstate.version VERSION_NAME


adb shell setprop dumpstate.version split-dumpsys && adb shell dumpstate -v

Then to restore the default version:

adb shell setprop dumpstate.version default

Code style and formatting

Use the style defined at the Google C++ Style Guide and make sure to run the following command prior to repo upload:

git clang-format --style=file HEAD~

Useful Bash tricks

export BR_DIR=/bugreports

alias br='adb shell cmd activity bug-report'
alias ls_bugs='adb shell ls -l ${BR_DIR}/'

unzip_bug() {
  adb pull ${BR_DIR}/$1 && emacs $1 && mv $1 /tmp

less_bug() {
  adb pull ${BR_DIR}/$1 && less $1 && mv $1 /tmp

rm_bugs() {
 if [ -z "${BR_DIR}" ] ; then echo "Variable BR_DIR not set"; else adb shell rm -rf ${BR_DIR}/*; fi