Agent skill

Frb Android Emulator Prepare

by fzyzcjy in fzyzcjy/flutter_rust_bridge

A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…

MITAuto-check: notesMobile

Install Frb Android Emulator Prepare

skills CLI
$ npx skills add fzyzcjy/flutter_rust_bridge --skill frb-android-emulator-prepare -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fzyzcjy/flutter_rust_bridge frb-android-emulator-prepare --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fzyzcjy/flutter_rust_bridge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/frb-android-emulator-prepare .claude/skills/frb-android-emulator-prepare && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
frb-android-emulator-prepare
GitHub stars
5.4k
Token cost
~2.1k tokens
SKILL.md length
664 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…

  • Explaining the host Android Emulator environment for flutterrustbridge local runtime validation
  • SKILL.md covers Boundary, Default Host Locations, Preflight and Installation Policy, plus 7 more sections
  • Calls adb, brew and java; reaches dl.google.com
  • Including Android SDK command-line tools

What it does

Frb Android Emulator Prepare is an agent skill from fzyzcjy/flutter_rust_bridge. Use when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line tools, emulator packages, AVD creation, host emulator startup, and Docker-local ADB connectivity to the emulator TCP endpoint.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Mobile testing and debugging, Cross-platform mobile apps and Android development. It works with Android, Docker, Flutter and Rust. The repository describes itself as: Flutter/Dart <- Rust binding generator, feature-rich, but seamless and simple. The licence is MIT.

When your agent uses it

  • Explaining the host Android Emulator environment for flutterrustbridge local runtime validation
  • Including Android SDK command-line tools
  • Emulator packages
  • Host emulator startup

Example prompts

  • “/frb-android-emulator-prepare”

Requirements

  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 848e438. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • adb
    • brew
    • java
    • curl
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dl.google.com

    Also links to:

    • developer.android.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Frb Android Emulator Prepare loads about 2.1k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 664 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:86
    formula because it does not require the sudo package installer:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fzyzcjy/flutter_rust_bridge at commit 848e438, republished under its MIT licence (© fzyzcjy). 664 words, ~2,052 tokens.

Download SKILL.mdSave it as .claude/skills/frb-android-emulator-prepare/SKILL.md (or your agent's skills folder).
name
frb-android-emulator-prepare
description
Use when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutter_rust_bridge local runtime validation, including Android SDK command-line tools, emulator packages, AVD creation, host emulator startup, and Docker-local ADB connectivity to the emulator TCP endpoint.

FRB Android Emulator Preparation

Use this skill when a task requires a host Android Emulator for FRB local runtime validation.

Boundary

FRB Android runtime validation currently supports a host Android Emulator path: host needs Java, Android SDK command-line tools, emulator, a system image, and an AVD; Docker runs FRB/Flutter commands through a Docker-local ADB server connected to the emulator TCP endpoint.

Do not install Android Emulator packages unless the user has explicitly asked to prepare or run an emulator. Installing the emulator changes host state and downloads large SDK packages.

Default Host Locations

Use standard Android Studio locations on macOS:

text
~/Library/Android/sdk
~/.android/avd
~/.android

Respect ANDROID_HOME if it is already set. Otherwise use ~/Library/Android/sdk. Do not invent repo-specific defaults such as /workspace, /tmp, or a user's personal artifacts directory.

Preflight

Official references for this workflow:

Run these before installing anything:

bash
sw_vers
uname -m
which adb || true
adb version || true
echo "${ANDROID_HOME:-}"
ls -ld "$HOME/Library/Android/sdk" "$HOME/.android" "$HOME/.android/avd" 2>/dev/null || true
which java || true
java -version || true

If the task requires an emulator, record whether these tools already exist:

bash
ls "$HOME/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager" 2>/dev/null || true
ls "$HOME/Library/Android/sdk/cmdline-tools/latest/bin/avdmanager" 2>/dev/null || true
ls "$HOME/Library/Android/sdk/emulator/emulator" 2>/dev/null || true

Installation Policy

Before installing or downloading anything, state exactly what will be installed and ask for approval through the command escalation mechanism.

For a minimal macOS emulator setup, expect these host changes:

text
Homebrew openjdk, if Java is missing
~/Library/Android/sdk/cmdline-tools/latest
~/Library/Android/sdk/emulator
~/Library/Android/sdk/platform-tools
~/Library/Android/sdk/platforms/android-<api>
~/Library/Android/sdk/system-images/android-<api>/google_apis/arm64-v8a
~/.android/avd/<avd-name>.avd
~/.android/avd/<avd-name>.ini

Prefer ARM64 system images on Apple Silicon:

text
system-images;android-35;google_apis;arm64-v8a

Use a different API level only when the task or Flutter version requires it.

Install Java

If /usr/bin/java is missing and Homebrew is available, prefer the Homebrew openjdk formula because it does not require the sudo package installer:

bash
HOMEBREW_NO_AUTO_UPDATE=1 brew install openjdk

For SDK commands in the current shell, prepend the Homebrew JDK:

bash
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"

Do not use brew install --cask temurin in non-interactive agent runs unless the user has approved sudo-capable installation; it may invoke macOS Installer through sudo.

Install Command-Line Tools

If Android Studio is not installed and cmdline-tools/latest is missing, install the official Android command-line tools into the standard SDK root. This follows the Android Developers command-line tools instructions on the Android Studio download page: https://developer.android.com/studio. The important shape is to download the command-line tools package from that page, extract it, and place it under cmdline-tools/latest in the Android SDK root.

bash
mkdir -p "$HOME/Library/Android/sdk/cmdline-tools/latest"
curl -L -o /private/tmp/commandlinetools-mac-latest.zip \
  https://dl.google.com/android/repository/commandlinetools-mac-14742923_latest.zip
mkdir -p /private/tmp/frb-android-commandlinetools-extract
ditto -x -k /private/tmp/commandlinetools-mac-latest.zip /private/tmp/frb-android-commandlinetools-extract
cp -R /private/tmp/frb-android-commandlinetools-extract/cmdline-tools/. \
  "$HOME/Library/Android/sdk/cmdline-tools/latest/"

Then set:

bash
export ANDROID_HOME="$HOME/Library/Android/sdk"
export ANDROID_SDK_ROOT="$ANDROID_HOME"
export PATH="/opt/homebrew/opt/openjdk/bin:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"

Install Emulator Packages

Accept licenses and install the minimal packages with sdkmanager, the Android SDK package manager documented by Android Developers at https://developer.android.com/tools/sdkmanager:

bash
yes | sdkmanager --licenses
sdkmanager \
  "emulator" \
  "platform-tools" \
  "platforms;android-35" \
  "system-images;android-35;google_apis;arm64-v8a"

If the user wants a smaller or non-Google image, choose a matching system-images;android-<api>;default;arm64-v8a package instead.

Show full SKILL.md (272 more words)Show less

Create AVD

Use a predictable AVD name that the frb-dev-env examples can reference. This uses avdmanager, the Android Developers command-line tool for creating and managing AVDs documented at https://developer.android.com/tools/avdmanager:

bash
avdmanager create avd \
  --name FRB_API_35 \
  --package "system-images;android-35;google_apis;arm64-v8a" \
  --device "pixel_8"

If the device profile is unavailable, list device profiles and choose a common phone:

bash
avdmanager list device

Start And Verify Emulator

Start the host emulator through frb-dev-env. The underlying emulator invocation follows the Android Emulator command-line interface documented at https://developer.android.com/studio/run/emulator-commandline:

bash
.claude/skills/frb-dev-env/frb_dev_env.py android emulator --avd FRB_API_35 --port 5554

Verify host ADB can see the emulator. This uses ADB, the Android Developers command-line tool documented at https://developer.android.com/tools/adb:

bash
adb devices -l

For emulator runtime tests, let Docker use its own ADB server and connect directly to the host emulator ADB TCP endpoint. For emulator console port 5554, that endpoint is host.docker.internal:5555:

bash
.claude/skills/frb-dev-env/frb_dev_env.py docker exec --android-emulator-adb -- adb devices -l

Only after both ADB checks pass, run an FRB Android runtime command. Use the Docker-visible emulator serial:

bash
.claude/skills/frb-dev-env/frb_dev_env.py docker exec --android-emulator-adb -- \
  bash -lc './frb_internal test-flutter-native --package frb_example--flutter_via_create --flutter-test-args "--device-id host.docker.internal:5555"'

Common Failures

  • Android SDK root does not exist: install Android Studio or command-line tools into ~/Library/Android/sdk, or set ANDROID_HOME.
  • emulator: command not found: install the SDK emulator package and ensure ~/Library/Android/sdk/emulator is on PATH.
  • No AVD found: create FRB_API_35 with avdmanager create avd, or pass the existing AVD name to android emulator --avd.
  • Docker cannot see the host emulator through --android-emulator-adb: verify the host emulator is running on console port 5554, verify host adb devices -l shows emulator-5554, then run adb connect host.docker.internal:5555 inside Docker or retry the helper command.
  • Flutter integration test fails with a VM service or DDS connection refused on 127.0.0.1: the command likely used a host ADB server against an emulator. Use --android-emulator-adb so adb forward binds inside Docker.

Cleanup

Stop the emulator from host ADB:

bash
adb -s emulator-5554 emu kill

Avoid deleting SDK packages or AVDs unless the user explicitly asks.

© fzyzcjy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/frb-android-emulator-prepare of fzyzcjy/flutter_rust_bridge.

Open the folder on GitHubat commit 848e438

Compare with similar skills

Frb Android Emulator Prepare next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Frb Android Emulator Prepare compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Frb Android Emulator Prepare this skillfzyzcjy/flutter_rust_bridge5.4k—~2.1kAutomated safety check: NotesMIT
Dpis Hyperos SmokeKwensiu/DPIS111—~715Automated safety check: PassGPL-3.0
Android Devsickn33/agentic-awesome-skills47k1 repos~536Automated safety check: PassMIT
Updating Android SDKflutter/flutter179k—~1.7kAutomated safety check: PassBSD-3-Clause
Claude Android NinjaDrjacky/claude-android-ninja124—~5.2kAutomated safety check: PassApache-2.0
Simulator Audio E2Ehyochan/react-native-nitro-sound961—~1.1kAutomated safety check: PassMIT

Similar skills

  • Dpis Hyperos Smoke

    Kwensiu/DPIS

    Run automated DPIS HyperOS device smoke tests for package-specific dp/font emulation or replacement.

    111 GitHub stars~715 tokensUpdated yesterday
    MobileAuto-check passed
  • Android Dev

    sickn33/agentic-awesome-skills

    Production-grade Android app development guide covering native (Kotlin/Java), cross-platform (Flutter, RN, KMM), and hybrid architectures.

    47k GitHub starsUsed in 1 repo~536 tokens
    MobileAuto-check passed
  • Updating Android SDK

    flutter/flutter

    Upgrades Flutter's Android SDK dependency to a new Android API version (or preview/canary release) in packages.txt, verifies CIPD tag uniqueness, and packages/uploads the binaries using…

    179k GitHub stars~1.7k tokensUpdated today
    MobileAuto-check passed
  • Claude Android Ninja

    Drjacky/claude-android-ninja

    Build and migrate Android apps with Kotlin, Jetpack Compose, MVVM, Hilt, Room 3 (KSP, SQLiteDriver, Flow/suspend DAOs), Navigation3, and multi-module Gradle.

    124 GitHub stars~5.2k tokensUpdated 11 days ago
    MobileAuto-check passed
  • Simulator Audio E2E

    hyochan/react-native-nitro-sound

    Build and run repeatable react-native-nitro-sound recorder/player regression tests on an iOS Simulator or Android emulator, with explicit virtual-device selection, microphone permission, Maestro…

    961 GitHub stars~1.1k tokensUpdated 11 days ago
    MobileAuto-check passed
  • Android Maps Ktx

    googlemaps/android-maps-ktx

    Provides idiomatic Kotlin extension (KTX) patterns, reactive Flow event streams, and multi-subscriber shareIn rules for Google Maps SDK for Android and its Utility Library.

    360 GitHub stars~897 tokensUpdated 3 days ago
    MobileAuto-check passed

More from fzyzcjy/flutter_rust_bridge

All 28 skills in this repo
  • Frb Add Contributor

    fzyzcjy/flutter_rust_bridge

    Add or reconcile flutterrustbridge contributors through all-contributors PRs.

    5.4k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Frb Cargokit Dev

    fzyzcjy/flutter_rust_bridge

    Develop or update CargoKit for flutterrustbridge. An agent skill from fzyzcjy/flutter_rust_bridge.

    5.4k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Frb Categorize Code Diff

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when classifying a flutterrustbridge branch or PR diff into test and non-test changes, including colocated Rust test modules.

    5.4k GitHub stars~524 tokensUpdated today
    Auto-check passed
  • Frb CI Filter

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when running focused flutterrustbridge GitHub Actions CI via cifilter, adding/removing the ci-manual-dispatch PR label, choosing exact CI jobs or matrix entries, documenting…

    5.4k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Frb Code Generation

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when modifying Rust APIs, codegen, generated examples, or platform scaffolds in flutterrustbridge to select generation commands and preserve source-of-truth and convergence…

    5.4k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Frb Develop Feature

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge

    5.4k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Frb Android Emulator Prepare

What does Frb Android Emulator Prepare do?

A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…. Frb Android Emulator Prepare is an agent skill from fzyzcjy/flutter_rust_bridge. Use when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line tools, emulator packages, AVD creation, host emulator startup, and Docker-local ADB connectivity to the emulator TCP endpoint.

When should I use Frb Android Emulator Prepare?

Frb Android Emulator Prepare fits situations like: explaining the host Android Emulator environment for flutterrustbridge local runtime validation; including Android SDK command-line tools; emulator packages; host emulator startup.

How do I install Frb Android Emulator Prepare in Claude Code?

Run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-android-emulator-prepare -a claude-code`. Or copy the skill folder (.claude/skills/frb-android-emulator-prepare in fzyzcjy/flutter_rust_bridge) into .claude/skills/frb-android-emulator-prepare in your project. Claude Code loads it when a task matches its description.

How do I install Frb Android Emulator Prepare in Codex?

Run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-android-emulator-prepare -a codex`. Or copy the skill folder (.claude/skills/frb-android-emulator-prepare in fzyzcjy/flutter_rust_bridge) into .agents/skills/frb-android-emulator-prepare in your project. Codex loads it when a task matches its description.

Can I use Frb Android Emulator Prepare in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-android-emulator-prepare -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frb-android-emulator-prepare, .gemini/skills/frb-android-emulator-prepare, .github/skills/frb-android-emulator-prepare and .opencode/skills/frb-android-emulator-prepare in your project.

What does Frb Android Emulator Prepare need to run?

Going by SKILL.md and its folder, Frb Android Emulator Prepare needs the command-line tools its instructions call (adb, brew, java, curl and bash). Our summary lists: Docker.

Does Frb Android Emulator Prepare access the network?

SKILL.md names 2 domains. In commands or code: dl.google.com; the agent is likely to contact it when it follows the instructions. As links in the text: developer.android.com. This is read from the text; nothing was executed.

Is Frb Android Emulator Prepare safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Frb Android Emulator Prepare use?

Frb Android Emulator Prepare is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Frb Android Emulator Prepare use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Frb Android Emulator Prepare?

Skills that share tags, products or a category with Frb Android Emulator Prepare: Dpis Hyperos Smoke (Kwensiu/DPIS, 111 stars), Android Dev (sickn33/agentic-awesome-skills, 47k stars), Updating Android SDK (flutter/flutter, 179k stars) and Claude Android Ninja (Drjacky/claude-android-ninja, 124 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Frb Android Emulator Prepare?

fzyzcjy (a GitHub user) maintains it in fzyzcjy/flutter_rust_bridge, which has 5,446 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.

Source: fzyzcjy/flutter_rust_bridge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.