tree: cc237c6a4f7e0e5de4ac8cacd317f38aa0fe5446 [path history] [tgz]
  1. binder/
  2. tests/
  3. .clang-format
  4. Android.bp
  5. Android.mk
  6. AndroidTest.xml
  7. bugreport-format.md
  8. dumpstate.cpp
  9. dumpstate.h
  10. dumpstate.rc
  11. DumpstateInternal.cpp
  12. DumpstateInternal.h
  13. DumpstateSectionReporter.cpp
  14. DumpstateSectionReporter.h
  15. DumpstateService.cpp
  16. DumpstateService.h
  17. DumpstateUtil.cpp
  18. DumpstateUtil.h
  19. main.cpp
  20. README.md
  21. utils.cpp
cmds/dumpstate/README.md

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

Example:

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
}