Start youtube video with adb?
Categories:
Control YouTube Playback with ADB: A Comprehensive Guide

Learn how to launch YouTube videos, control playback, and interact with the app using Android Debug Bridge (ADB) commands, perfect for automation and testing.
Android Debug Bridge (ADB) is a versatile command-line tool that allows you to communicate with an Android device. While commonly used for debugging and development, ADB can also be leveraged for automation tasks, including controlling applications like YouTube. This article will guide you through the process of launching YouTube videos, managing playback, and interacting with the YouTube app directly from your computer using ADB commands. This is particularly useful for automated testing, custom scripts, or simply controlling your device without physical interaction.
Prerequisites and Setup
Before you can start sending ADB commands to your device, you need to ensure ADB is properly set up on your computer and your Android device is configured for debugging. This involves installing the Android SDK Platform Tools and enabling USB debugging on your phone or tablet.
1. Install ADB
Download and install the Android SDK Platform Tools from the official Android Developers website. This package includes ADB and other essential tools. Add the platform-tools directory to your system's PATH environment variable for easy access.
2. Enable USB Debugging
On your Android device, go to 'Settings' > 'About phone' (or 'About tablet'). Tap 'Build number' seven times to enable Developer options. Then, navigate to 'Settings' > 'System' > 'Developer options' and toggle 'USB debugging' to ON. Confirm any prompts that appear.
3. Connect Device and Verify ADB
Connect your Android device to your computer via a USB cable. Open a command prompt or terminal and run adb devices
. You should see your device listed with a unique identifier. If prompted on your device, allow USB debugging from your computer.
adb devices
shows 'unauthorized', check your device screen for a prompt to allow USB debugging from your computer. Always ensure your device's screen is unlocked when connecting for the first time.Launching YouTube Videos with ADB
To launch a specific YouTube video, you'll need its video ID. The video ID is the alphanumeric string found in the URL after v=
(e.g., https://www.youtube.com/watch?v=dQw4w9WgXcQ
, where dQw4w9WgXcQ
is the video ID). You can use an am start
command to directly open the YouTube app with the desired video.
adb shell am start -a android.intent.action.VIEW -d "vnd.youtube://dQw4w9WgXcQ"
Launch a YouTube video using its video ID.
This command tells the Android system to 'start an activity' (am start
) with the action android.intent.action.VIEW
and provides a data URI (-d
) pointing to the YouTube video. Replace dQw4w9WgXcQ
with the actual video ID you wish to play.
Controlling Playback and App Interaction
Once a video is playing, you can simulate various user interactions using ADB's input
command. This allows you to send key events or touch events to control playback, navigate, or even search within the YouTube app. Common key events include play/pause, next/previous track, and volume control.
flowchart TD A[Start Video via ADB] --> B{Video Playing?} B -- Yes --> C[Send Key Event (e.g., Play/Pause)] B -- No --> D[Send Key Event (e.g., Play)] C --> E[Observe Playback] D --> E E --> F{Need More Control?} F -- Yes --> G[Send Touch Event (e.g., Seek)] F -- No --> H[End Session]
Workflow for controlling YouTube playback using ADB.
# Simulate pressing the Play/Pause button
adb shell input keyevent 85
# Simulate pressing the Volume Up button
adb shell input keyevent 24
# Simulate pressing the Volume Down button
adb shell input keyevent 25
# Simulate pressing the Back button
adb shell input keyevent 4
# Simulate a tap at coordinates (500, 1000) - useful for seeking or UI interaction
adb shell input tap 500 1000
Common ADB commands for controlling YouTube playback and interacting with the UI.
input tap
commands can vary significantly between devices and screen resolutions. You may need to experiment to find the correct coordinates for your specific device and desired interaction.Advanced Use Cases: Searching and Automation
Beyond simple video playback, ADB can be used for more complex automation within YouTube. For instance, you can simulate text input to perform searches or navigate through menus. This opens up possibilities for creating scripts that automate entire YouTube sessions.
# Open YouTube app (if not already open)
adb shell am start -n com.google.android.youtube/com.google.android.youtube.HomeActivity
# Wait a few seconds for the app to load (adjust as needed)
sleep 5
# Simulate a tap on the search icon (example coordinates, adjust for your device)
adb shell input tap 950 60
# Wait for search bar to appear
sleep 2
# Type a search query (e.g., 'android adb tutorial')
adb shell input text "android adb tutorial"
# Press Enter to initiate search
adb shell input keyevent 66
ADB script to open YouTube, search for a video, and press enter.
This example demonstrates a basic sequence for searching. For robust automation, you might need to incorporate more sophisticated techniques like UI inspection (using uiautomatorviewer
) to reliably locate UI elements and their coordinates, or use tools built on top of ADB like Appium or UI Automator.