跳到主要内容
知仓学习社ZHICANG

android-emulator-skill

Production-ready scripts for Android app testing, building, and automation. Provides semantic UI navigation, build automation, log monitoring, and e…

执行命令读凭据严重 0 · 高危 20new-silvermoon/awesome-android-agent-skills

它会碰到什么

扫了多少12 个文本文件,47 KB
它会碰到什么执行命令读凭据
命中总数20 处
命中统计严重 0 · 高 20 · 中 0 · 低 0
逐条看命中(20 条严重或高危)
  • scripts/build_and_test.py:39exec-spawn
    process = subprocess.Popen(
  • scripts/common.py:15cred-envread
    android_home = os.environ.get("ANDROID_HOME")
  • scripts/common.py:23exec-spawn
    subprocess.run(["adb", "--version"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True)
  • scripts/common.py:60exec-spawn
    return subprocess.run(full_cmd, capture_output=True, text=True, check=check)
  • scripts/emu_health_check.ps1:66cred-envread
    $envAndroidHome = $env:ANDROID_HOME
  • scripts/emu_health_check.ps1:70cred-envread
    $userProfile = $env:USERPROFILE
  • scripts/emu_health_check.ps1:72cred-envread
    $userProfile = $env:HOME
  • scripts/emu_health_check.ps1:79cred-envread
    $env:ANDROID_HOME = $commonPath
  • scripts/emu_health_check.ps1:83cred-envread
    $env:ANDROID_HOME = $macPath
  • scripts/emu_health_check.ps1:109cred-envread
    if (-not [string]::IsNullOrWhiteSpace($env:ANDROID_HOME)) {
  • scripts/emu_health_check.ps1:110cred-envread
    $platformToolsPath = Join-Path $env:ANDROID_HOME 'platform-tools'
  • scripts/emu_health_check.ps1:112cred-envread
    $env:PATH += ";$platformToolsPath"
  • scripts/emu_health_check.ps1:138cred-envread
    if (-not [string]::IsNullOrWhiteSpace($env:ANDROID_HOME)) {
  • scripts/emu_health_check.ps1:139cred-envread
    $emulatorPath = Join-Path $env:ANDROID_HOME 'emulator'
  • scripts/emu_health_check.ps1:141cred-envread
    $env:PATH += ";$emulatorPath"
  • scripts/emulator_manage.py:16cred-envread
    android_home = os.environ.get("ANDROID_HOME")
  • scripts/emulator_manage.py:24exec-spawn
    subprocess.run(["emulator", "-version"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
  • scripts/emulator_manage.py:35exec-spawn
    res = subprocess.run([emu, "-list-avds"], capture_output=True, text=True, check=True)
  • scripts/emulator_manage.py:47exec-spawn
    subprocess.Popen([emu, "-avd", avd_name], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
  • scripts/log_monitor.py:64exec-spawn
    process = subprocess.Popen(full_cmd, stdout=sys.stdout, stderr=sys.stderr)

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Android Emulator Skill

Build, test, and automate Android applications using accessibility-driven navigation and structured data instead of pixel coordinates.

Quick Start

# 1. Check environment (use .sh on macOS/Linux, .ps1 on Windows)
bash scripts/emu_health_check.sh
# or on Windows: .\scripts\emu_health_check.ps1

# 2. Launch app
python scripts/app_launcher.py --launch com.example.app

# 3. Map screen to see elements
python scripts/screen_mapper.py

# 4. Tap button
python scripts/navigator.py --find-text "Login" --tap

# 5. Enter text
python scripts/navigator.py --find-type EditText --enter-text "user@example.com"

All scripts support --help for detailed options and --json for machine-readable output.

Production Scripts

Build & Development

  1. build_and_test.py - Build Android projects, run tests, parse results
  • Wrapper around Gradle
  • Support for assemble, install, and connectedCheck
  • Parse build errors and test results
  • Options: --task, --clean, --json
  1. log_monitor.py - Real-time log monitoring with intelligent filtering
  • Wrapper around adb logcat
  • Filter by tag, priority, or PID
  • Deduplicate repeated messages
  • Options: --package, --tag, --priority, --duration, --json

Navigation & Interaction

  1. screen_mapper.py - Analyze current screen and list interactive elements
  • Dump UI hierarchy using uiautomator
  • Parse XML to identify buttons, text fields, etc.
  • Options: --verbose, --json
  1. navigator.py - Find and interact with elements semantically
  • Find by text (fuzzy matching), resource-id, or class name
  • Interactive tapping and text entry
  • Options: --find-text, --find-id, --tap, --enter-text, --json
  1. gesture.py - Perform swipes, scrolls, and other gestures
  • Swipe up/down/left/right
  • Scroll lists
  • Options: --swipe, --scroll, --duration, --json
  1. keyboard.py - Key events and hardware buttons
  • Input key events (Home, Back, Enter, Tab)
  • Type text via ADB
  • Options: --key, --text, --json
  1. app_launcher.py - App lifecycle management
  • Launch apps (adb shell am start)
  • Terminate apps (adb shell am force-stop)
  • Install/Uninstall APKs
  • List installed packages
  • Options: --launch, --terminate, --install, --uninstall, --list, --json

Emulator Lifecycle Management

  1. emulator_manage.py - Manage Android Virtual Devices (AVDs)
  • List available AVDs
  • Boot emulators
  • Shutdown emulators
  • Options: --list, --boot, --shutdown, --json
  1. emu_health_check - Verify environment is properly configured
  • Use emu_health_check.sh on macOS/Linux and emu_health_check.ps1 on Windows
  • Check ADB, Emulator, Java, Gradle, ANDROID_HOME
  • List connected devices

Common Patterns

Auto-Device Detection: Scripts target the single connected device/emulator if only one is present, or require -s <serial> if multiple are connected.

Output Formats: Default is concise human-readable output. Use --json for machine-readable output.

Requirements

  • Android SDK Platform-Tools (adb, fastboot)
  • Android Emulator
  • Java / OpenJDK
  • Python 3

Key Design Principles

Semantic Navigation: Find elements by text, resource-id, or content-description.

Token Efficiency: Concise default output with optional verbose and JSON modes.

Zero Configuration: Works with standard Android SDK installation.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。