This is a sample service that can be used for testing init.
The service includes a .rc
file that allows starting it from init.
service test_service /system/bin/test_service CapAmb 0000000000003000 class main user system group system capabilities NET_ADMIN NET_RAW disabled oneshot
The service accepts any even number of arguments on the command line (i.e. any number of pairs of arguments.) It will attempt to find the first element of each pair of arguments in /proc/self/status
, and attempt to exactly match the second element of the pair to the relevant line of proc/self/status
.
In the above case, the service will look for lines containing CapAmb
:
cat /proc/self/status ... CapAmb: 0000000000003000
And then attempt to exactly match the token after :
, 0000000000003000
, with the command-line argument. If they match, the service exits successfully. If not, the service will exit with an error.
mmma -j <jobs> system/core/init/testservice adb root adb remount adb sync adb reboot adb root adb shell start test_service adb logcat -b all -d | grep test_service
Look for an exit status of 0.