The current development build (20260423-1) adds support some new configuration command types.
"tune_commands": [
"adbtuner_open_app '||TARGET_PACKAGE_NAME||'",
{
"ADB_LOOP": {
"iterations": 10,
"commands": [
"input keyevent KEYCODE_DPAD_DOWN",
"sleep 2"
]
}
}
]
"adbtuner_open_app '||TARGET_PACKAGE_NAME||'" does what you probably think it would do. It opens the target app.
When I added the keep alive feature I found that adb shell monkey -p didn't work for every app. So I added a helper function to ADBTuner that dumps the target package to figure out which action to use. This change makes this functionality available to configurations.
The ADB_LOOP command type provides a simple syntax for repeating a set of commands multiple times. I find this syntax is cleaner than sending a full shell command to the device for this purpose. More importantly, using this feature allows ADBTuner to intercept any sleep commands and process them on the ADBTuner side as that provides more accurate timing. It's also necessary to make adbtuner_open_app work in a loop if needed.
The example configuration above will open the target app and then press down 10 times (waiting 2 seconds between each key press).

