Skip to content

Android Configuration Reference ALPHA

Complete reference for all Android configuration options.

Alpha Feature

Android provisioning is in alpha. Configuration options may change.


Connection

Wireless ADB

connection:
  method: wireless          # wireless or usb
  ip: ""                    # Device IP (leave empty for runtime discovery)
  port: 5555                # ADB port (default: 5555)
  pairing_port: ""          # For auto-pair (optional)
  pairing_code: ""          # For auto-pair (optional)

APK Installation

Global Settings

Key Type Default Description
install_apks bool true Enable/disable APK installation

APK Sources

Each app supports three source types:

Source Description
url Direct download from URL (GitHub releases, etc.)
fdroid Fetch latest from F-Droid repository
local Install from local file in private repo

APK Configuration

apks:
  retroarch:
    enabled: false           # Enable/disable this app
    source: fdroid           # url, fdroid, or local
    package_name: "org.libretro.RetroArch"  # Android package name

  moonlight:
    enabled: false
    source: url
    url: "https://github.com/moonlight-stream/moonlight-android/releases/latest/download/Moonlight.apk"
    package_name: "com.limelight"
    grant_permissions: []    # Permissions to auto-grant

  custom_app:
    enabled: false
    source: local
    local_path: "android/apks/MyApp.apk"  # Relative to private/
    package_name: "com.example.myapp"

Available Apps

See config/android/config.yml for the complete list of 100+ pre-configured apps including:

  • Emulator Frontends: Daijisho, Pegasus, ES-DE, LaunchBox
  • Emulators: RetroArch, Dolphin, PPSSPP, DuckStation, melonDS, etc.
  • Streaming: Moonlight, Steam Link, Chiaki-ng, Parsec
  • Utilities: Tailscale, Termux, MiXplorer, ZArchiver
  • And many more...

System Settings

Global Settings

Key Type Default Description
configure_settings bool true Enable/disable settings configuration

Settings Namespaces

Android settings are organized into three namespaces:

settings:
  system:
    # UI settings
    screen_off_timeout: ""     # Screen timeout in ms (empty = don't change)

  secure:
    # Security settings
    install_non_market_apps: ""  # Allow unknown sources

  global:
    # Animation and performance
    window_animation_scale: ""      # 0, 0.5, 1, etc.
    transition_animation_scale: ""
    animator_duration_scale: ""

Common Settings

Disable Animations (Performance)

settings:
  global:
    window_animation_scale: "0"
    transition_animation_scale: "0"
    animator_duration_scale: "0"

Keep Screen On

settings:
  system:
    screen_off_timeout: "2147483647"  # Max value (~24 days)

File Push

Global Settings

Key Type Default Description
push_files bool true Enable/disable file pushing

File Configuration

files:
  roms:
    enabled: false
    local_path: "android/roms"           # Relative to private/
    device_path: "/sdcard/RetroArch/roms"

  saves:
    enabled: false
    local_path: "android/saves"
    device_path: "/sdcard/RetroArch/saves"

  custom:
    - enabled: false
      local_path: "android/configs/retroarch.cfg"
      device_path: "/sdcard/RetroArch/config/retroarch.cfg"

Shell Commands

Execute arbitrary ADB shell commands before or after provisioning.

execute_commands: true

commands:
  pre:
    - "echo 'Starting provisioning'"
    # Commands run before APK installation

  post:
    - "echo 'Provisioning complete'"
    # Commands run after everything else

Device Profiles

Pre-configured profiles for specific devices:

Profile Device
retroid_pocket Retroid Pocket ¾/5/Mini
ayaneo AYANEO Pocket devices
odin Odin 2 and variants
logitech_g_cloud Logitech G Cloud
generic Generic Android device
device_profile: ""  # Leave empty to skip profile defaults

Per-Device Configuration

Create device-specific configs in your private repo:

private/device/android/
├── retroid-5/
│   ├── config.yml       # Overrides for this device
│   ├── apks/            # Local APK files
│   └── Logs/            # Provisioning logs
└── odin-2/
    └── config.yml

Example Device Config

# private/device/android/retroid-5/config.yml

# Override connection for this specific device
connection:
  ip: "192.168.1.150"

# Enable specific apps for this device
apks:
  retroarch:
    enabled: true
  daijisho:
    enabled: true
  moonlight:
    enabled: true

# Disable animations for better performance
settings:
  global:
    window_animation_scale: "0.5"
    transition_animation_scale: "0.5"
    animator_duration_scale: "0.5"

Full Example

# connection
connection:
  method: wireless
  port: 5555

# APKs to install
install_apks: true
apks:
  retroarch:
    enabled: true
  daijisho:
    enabled: true
  moonlight:
    enabled: true
  tailscale:
    enabled: true

# System settings
configure_settings: true
settings:
  global:
    window_animation_scale: "0.5"
    transition_animation_scale: "0.5"
    animator_duration_scale: "0.5"

# File push
push_files: true
files:
  roms:
    enabled: true
    local_path: "android/roms"
    device_path: "/sdcard/RetroArch/roms"

# Post-install commands
execute_commands: true
commands:
  post:
    - "am start -n com.daijishou.daijishou/.MainActivity"