• Home
Name Date Size #Lines LOC

..--

binder/android/os/03-May-2024-19635

tests/03-May-2024-2,4061,761

.clang-formatD03-May-2024288 1412

Android.bpD03-May-20243.8 KiB179167

AndroidTest.xmlD03-May-20241.2 KiB2712

DumpstateInternal.cppD03-May-20246.4 KiB192151

DumpstateInternal.hD03-May-20241.8 KiB6230

DumpstateSectionReporter.cppD03-May-20241.5 KiB4321

DumpstateSectionReporter.hD03-May-20241.7 KiB6630

DumpstateService.cppD03-May-20248.8 KiB228167

DumpstateService.hD03-May-20242.1 KiB6632

DumpstateUtil.cppD03-May-202412.7 KiB412319

DumpstateUtil.hD03-May-20246.7 KiB21978

OWNERSD03-May-202489 75

README.mdD03-May-20242.7 KiB12685

bugreport-format.mdD03-May-20245.5 KiB12397

dumpstate.cppD03-May-2024111.7 KiB2,8872,173

dumpstate.hD03-May-202419.8 KiB603220

dumpstate.rcD03-May-2024799 2622

main.cppD03-May-20242.1 KiB6936

utils.cppD03-May-202431.6 KiB1,013799

README.md

1# `dumpstate` development tips
2
3## To build `dumpstate`
4
5Do a full build first:
6
7```
8m -j dumpstate
9```
10
11Then incremental ones:
12
13```
14mmm -j frameworks/native/cmds/dumpstate
15```
16
17If you're working on device-specific code, you might need to build them as well.
18Example:
19
20```
21mmm -j frameworks/native/cmds/dumpstate device/acme/secret_device/dumpstate/ hardware/interfaces/dumpstate
22```
23
24## To build, deploy, and take a bugreport
25
26```
27mmm -j frameworks/native/cmds/dumpstate && adb push ${OUT}/system/bin/dumpstate system/bin && adb push ${OUT}/system/lib64/*dumpstate*.so /system/lib64/ && adb shell am bug-report
28```
29
30Make sure that the device is remounted before running the above command. * If
31you're working with `userdebug` variant, you may need to run the following to
32remount your device:
33
34```
35  adb root && adb remount -R && adb wait-for-device && adb root && adb remount
36```
37
38*   If you're working with `eng` variant, you may need to run the following to
39    remount your device:
40
41    ```
42    adb root && adb remount
43    ```
44
45## To build, deploy, and run unit tests
46
47First create `/data/nativetest64`:
48
49```
50adb shell mkdir /data/nativetest64
51```
52
53Then run:
54
55```
56mmm -j frameworks/native/cmds/dumpstate/ && adb push ${OUT}/data/nativetest64/dumpstate_* /data/nativetest64 && adb shell /data/nativetest64/dumpstate_test/dumpstate_test
57```
58
59And to run just one test (for example, `DumpstateTest.RunCommandNoArgs`):
60
61```
62mmm -j frameworks/native/cmds/dumpstate/ && adb push ${OUT}/data/nativetest64/dumpstate_test* /data/nativetest64 && adb shell /data/nativetest64/dumpstate_test/dumpstate_test --gtest_filter=DumpstateTest.RunCommandNoArgs
63```
64
65## To take quick bugreports
66
67```
68adb shell setprop dumpstate.dry_run true
69```
70
71## To emulate a device with user build
72
73```
74adb shell setprop dumpstate.unroot true
75```
76
77## To change the `dumpstate` version
78
79```
80adb shell setprop dumpstate.version VERSION_NAME
81```
82
83Example:
84
85```
86adb shell setprop dumpstate.version split-dumpsys && adb shell dumpstate -v
87```
88
89Then to restore the default version:
90
91```
92adb shell setprop dumpstate.version default
93```
94
95## Code style and formatting
96
97Use the style defined at the
98[Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) and
99make sure to run the following command prior to `repo upload`:
100
101```
102git clang-format --style=file HEAD~
103```
104
105## Useful Bash tricks
106
107```
108export BR_DIR=/bugreports
109
110alias br='adb shell cmd activity bug-report'
111alias ls_bugs='adb shell ls -l ${BR_DIR}/'
112
113unzip_bug() {
114  adb pull ${BR_DIR}/$1 && emacs $1 && mv $1 /tmp
115}
116
117less_bug() {
118  adb pull ${BR_DIR}/$1 && less $1 && mv $1 /tmp
119}
120
121rm_bugs() {
122 if [ -z "${BR_DIR}" ] ; then echo "Variable BR_DIR not set"; else adb shell rm -rf ${BR_DIR}/*; fi
123}
124
125```
126