A couple of things that you might try (they work for me currently).
The development version of ADBTuner with the following tuning configuration for these channels:
{
"name": "ESPN+ Deep Links - Show Tuning Process",
"author": "bnhf/hancox",
"version": "1.0",
"description": "Load content via ESPN+ deep link URLs (where supported). Show tuning process. Modified from original for ONN",
"uuid": "51af5028-092f-4ddc-b4ea-d5e5fca58cac",
"global_options": {
"wait_for_video_playback_detection": false,
"use_fixed_delay": true,
"fixed_delay_seconds": 1,
"check_for_and_clear_whos_watching_prompts": false,
"wait_after_post_playback_start_commands_seconds": 0
},
"pre_tune_commands": [
"input keyevent KEYCODE_MEDIA_STOP"
],
"tune_commands": [
"am start -n ||TARGET_PACKAGE_NAME||/com.espn.startup.presentation.StartupActivity -d ||TARGET_URL_OR_IDENTIFIER||"
],
"post_playback_start_commands": [
"sleep 20",
"input keyevent KEYCODE_DPAD_DOWN",
"sleep 1",
"input keyevent KEYCODE_DPAD_DOWN",
"sleep 1",
"input keyevent KEYCODE_DPAD_RIGHT",
"sleep 1",
"input keyevent KEYCODE_DPAD_CENTER"
],
"post_tune_commands": [
"input keyevent KEYCODE_MEDIA_STOP",
"input keyevent KEYCODE_MEDIA_PAUSE",
"input keyevent KEYCODE_HOME"
]
}
On occasion I have to try the channel a second time to get it to go live but it usually works on the first try. Showing the tuning process is helpful for me to see where it might be misbehaving.