Appetize Docs
HomeDemoUploadPricing
  • Introduction
  • Platform
    • App Management
      • Uploading Apps
        • Android
        • iOS
      • App Dashboard
      • Running Apps
      • App Permissions
    • Device Sandbox
    • Embedding
    • Sharing
    • Session Inactivity Timeout
    • Query Params Reference
  • Features
    • Devices & OS Versions
    • Network Traffic Monitor
    • Debug Logs
    • UI Automation
    • Proxy
    • Language & Locale
    • Mock Location
    • Deep links
    • Launch Params
    • Media
    • Auto-grant Permissions
    • Custom Branding
    • Custom Launch Pages
    • Advanced Features
      • Android
        • ADB tunnel
        • Hide Password Visibility
      • Reserved Devices
  • Account
    • Invite your team
    • Single Sign-On
      • OpenID Connect
      • SAML
      • Azure Active Directory
      • Google Workspace (GSuite)
    • Reporting
      • Session History
      • Usage Summary
  • Infrastructure
    • Configure Network Access
    • Enterprise Hosting Options
  • JavaScript SDK
    • Configuration
    • Automation
      • Device commands
      • Touch interactions
    • API reference
      • Initialization
      • Client
      • Session
      • Types
        • AdbConnectionInfo
        • AppetizeApp
        • AndroidElementAttributes
        • Coordinates
        • DeviceInfo
        • Element
        • ElementBounds
        • IOSAccessibilityElement
        • IOSElementAttributes
        • NetworkRequest
        • NetworkResponse
        • SessionConfig
        • SwipeMove
        • RecordedAction
        • RecordedSwipeAction
        • RecordedKeypressAction
        • RecordedPosition
        • RecordedTapAction
        • RecordedTouchAction
        • UserInteraction
  • Testing
    • Getting Started
    • Writing Tests
    • Running Tests
    • Test Configuration
    • Continuous Integration
    • Record Tests (experimental)
    • Trace Viewer
    • Web Tests on Mobile Browsers
  • REST API
    • Create new app
    • Update existing app
    • Direct file uploads
    • Delete app
    • List apps
    • Usage summary
    • Devices & OS Versions
      • v1
    • IP Blocks
      • v1
    • Sample code
  • Guides & Samples
    • Impersonation
    • Automate Sign-in Flow
    • Screenshot Automation
    • Unlock Device
    • Validate Analytics Events
    • Lock Your Device to One App
    • Test Accessibility Font Sizes
    • Common testing scenarios
    • Samples Repository
  • Deprecated
    • Cross-document messages
  • Changelog
  • Additional Support
    • Knowledge Base
    • Support Request
Powered by GitBook
On this page
  • Enable ADB Tunnel
  • With Query Parameter
  • With JavaScript SDK
  • Usage
  • With App Page
  • With JavaScript SDK
  1. Features
  2. Advanced Features
  3. Android

ADB tunnel

The ADB tunnel feature allows you to create an SSH tunnel to a running Appetize Android session, enabling you to interact with the device via Android Studio or standard ADB protocol.

PreviousAndroidNextHide Password Visibility

Last updated 1 month ago

Enable ADB Tunnel

To enable the ADB tunnel feature, you can either choose to enable it through a query parameter or by utilizing the JavaScript SDK.

With Query Parameter

Add the enableAdb=true query parameter to your app or embed URL

&enableAdb=true

See for more information.

With JavaScript SDK

Set enableAdb: true in the configuration e.g.

await client.setConfig({
    enableAdb: true,
    ...
})

See for more information.

Usage

With App Page

The app page provides a simple way to retrieve the adb information required to connect to the device.

You can access this via your app's app link

https://appetize.io/app/{appId|buildId|publicKey}?&enableAdb=true

Select Tap To Start (or your equivalent text to start the session). A command will then be generated that you need to copy and paste in your shell environment e.g.

Then, the Appetize virtual Android device will appear with adb devices, as if it were a device plugged into your computer via USB.

With JavaScript SDK

You can retrieve all the information needed to start an ADB session via the adbConnection property

const adbInfo = session.adbConnection
const command = adbInfo.command

One common practice is to use the ADB tunnel to connect to an Android "standalone" device, without any specific app installed. For more information see .

or by going to your page, selecting Play on the app you want to inspect, and then toggling Adb Tunnel to On

See our JavaScript for more information.

Standalone Device
Apps
API Reference
Query Params Reference
Configuration
Select Play on the app you want to inspect
Toggle ADB tunnel to "On"
Example ADB Tunnel Action Switched to On
Example command to paste in shell environment