GeezerVison is showing skip.dev — Skip CLI Reference
Skip CLI Reference
The Skip command-line interface (CLI) is a tool that can be
run from the terminal on macOS, Linux, or Windows. It provides an interface for creating new
Skip projects (both framework and app projects), building and testing for Android,
managing the Swift Android SDK and emulators, and exporting built artifacts for publication.
The skip CLI is installed using Homebrew ↗. Skip is distributed as a binary Homebrew “Cask” for macOS, Linux, and Windows (with WSL 2 ↗). For complete details, see the Getting Started Guide.
Once Homebrew is set up, Skip can be installed (and updated) by running the Terminal command:
Terminal window
brewinstallskip
This will download and install the skip tool itself, as well as the Android SDK dependencies that are necessary for building and testing the Kotlin/Android side of your apps.
Create a new Skip project through interactive prompts. This will ask you to choose between a native (Fuse) or transpiled (Lite) project, app or library, and walk you through configuration options.
Terminal window
skipcreate
For non-interactive project creation, use skip init instead.
Build and launch a conventional Skip app on the booted iOS Simulator and a running Android emulator together in one step. Reads PRODUCT_NAME and PRODUCT_BUNDLE_IDENTIFIER from Skip.env, then drives xcodebuild, xcrun simctl install, and xcrun simctl launch for iOS while letting the Skip build plugin handle the Android Gradle build and install via adb.
Terminal window
# Build and launch on both iOS simulator and Android emulator (default)
skipapplaunch
# Build and launch a release build
skipapplaunch--configurationrelease
# Build and launch only the iOS app on the booted simulator
skipapplaunch--ios
# Build and launch only the Android app via the Skip plugin
skipapplaunch--android
Pre-flight:
The project must be a conventional Skip app project, meaning it contains a Project.xcworkspace, a Skip.env configuration file, and Darwin/ and Android/ folders alongside Package.swift. skip init --transpiled-app and skip init --native-app produce projects in this shape.
You must boot an iOS Simulator yourself (xcrun simctl boot <UDID>; open -a Simulator) and start an Android emulator (emulator -avd <name> or skip android emulator launch). skip app launch does not start either for you. If no simulator is booted the iOS install step fails; if no emulator is running the Android install step fails.
Flag
Purpose
-c, --configuration <config>
Build configuration, debug (default) or release.
--ios
Build and launch only the iOS app. Sets SKIP_ACTION=none in the xcodebuild environment so the build plugin skips the Android phase.
--android
Build and launch only the Android app. iOS is built but not installed or launched.
--project <dir>
Project folder. Defaults to the current directory.
When you have both a USB-connected Android device and a running emulator, scope the install to the emulator with the standard ANDROID_SERIAL environment variable:
Terminal window
ANDROID_SERIAL=emulator-5554skipapplaunch
skip app launch has no --android-serial flag; the env var is the documented way to target a specific Android device.
Perform a full system evaluation by running all the checks from skip doctor and then creating and building a sample Skip project to verify everything works end to end.
List all connected Android emulators/devices (via adb) and iOS simulators/devices (via simctl and devicectl). Useful for verifying which targets are available before running or testing.
Terminal window
skipdevices
Output includes device IDs, platform, type, and model information in JSON format.
Build and run Swift (XCTest) and transpiled Kotlin (JUnit) tests, then produce a side-by-side parity report. By default, Kotlin tests run locally via Robolectric. Use --android-serial to run instrumented tests on a connected device or emulator.
Terminal window
# Run parity tests locally (Robolectric)
skiptest
# Run tests for a specific project
skiptest--projectpath/to/project
# Run instrumented tests on a connected device
skiptest--android-serialauto
# Target a specific emulator
skiptest--android-serialemulator-5554
Key flags:
Flag
Description
--project <dir>
Project folder (default: .)
--test/--no-test
Run tests (default: --test)
--android-serial <serial>
Target device for instrumented tests (omit for Robolectric)
The skip android command group provides tools for cross-compiling Swift packages with the Swift Android SDK, running executables and tests on Android devices or emulators, and managing the SDK, toolchain, and emulator images.
USAGE: skip android <subcommand>
SUBCOMMANDS:
build Build the native project for Android
run Run the executable target on an Android device or emulator
test Test the native project on an Android device or emulator
home Install and manage the Android SDK in ANDROID_HOME
sdk Manage installation of Swift Android SDK
emulator Manage Android emulators
toolchain Manage installation of Swift Android Host Toolchain
Build Swift tests for Android, push them to a device or emulator, and execute them. By default, tests run as a native executable via adb shell. With --apk, tests are packaged as an Android APK and run via instrumentation.
Terminal window
# Run tests on a connected device
skipandroidtest
# Run tests as an APK (instrumented tests)
skipandroidtest--apk
# Target a specific emulator
skipandroidtest--android-serialemulator-5554
# Run only Swift Testing tests
skipandroidtest--testing-librarytesting
# Run only XCTest tests
skipandroidtest--testing-libraryxctest
Key flags:
Flag
Description
--android-serial <serial>
Target device (default: auto)
--android-connect-timeout <seconds>
Wait for device boot before installing (default: 5)
--apk/--no-apk
Package tests as an APK for instrumented testing
--testing-library <lib>
Testing library: all, xctest, or testing (default: all)
Launch an Android emulator. If only one AVD is installed, it is launched automatically. Otherwise, the default emulator name is used, or you can specify one with --name.
Add -v or --verbose to any command to see detailed output, including the exact shell commands being executed. This is invaluable for diagnosing build or configuration issues.
When multiple Android devices or emulators are connected, commands that target a device will automatically prefer emulators over physical devices. To target a specific device, use the --android-serial flag:
Terminal window
# List connected devices to find serial numbers
skipdevices
# Target a specific device
skipandroidtest--android-serialemulator-5554
You can also set the ANDROID_SERIAL environment variable, which will be respected by all commands.
You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.