• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

binder/android/os/23-Mar-2024-17932

tests/23-Mar-2024-2,3971,751

.clang-formatD23-Mar-2024288 1412

Android.bpD23-Mar-20243.8 KiB175163

AndroidTest.xmlD23-Mar-20241.2 KiB2712

DumpstateInternal.cppD23-Mar-20246.7 KiB198156

DumpstateInternal.hD23-Mar-20241.9 KiB6331

DumpstateService.cppD23-Mar-20248.6 KiB227166

DumpstateService.hD23-Mar-20242.1 KiB6632

DumpstateUtil.cppD23-Mar-202412 KiB384294

DumpstateUtil.hD23-Mar-20246.5 KiB21377

OWNERSD23-Mar-202489 75

README.mdD23-Mar-20242.7 KiB12685

TEST_MAPPINGD23-Mar-202467 77

bugreport-format.mdD23-Mar-20245.5 KiB12397

dumpstate.cppD23-Mar-2024142.1 KiB3,7932,859

dumpstate.hD23-Mar-202419.5 KiB598221

dumpstate.rcD23-Mar-2024799 2622

dumpstate_test.xmlD23-Mar-20241.4 KiB3015

main.cppD23-Mar-20242.1 KiB6936

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