Skip to main content

android-audio-e2e

Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid switching. Use for Kotlin or Android regressions and runtime claims beyond a Gradle compile.

Quellinformationen

Repository
hyochan/react-native-nitro-sound
Letzte Quellaktivität
7. August 2026 um 02:03
Erkannte Sprache von SKILL.md
Englisch
Sterne
961
Forks
252

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
android-audio-e2e
description
Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid switching. Use for Kotlin or Android regressions and runtime claims beyond a Gradle compile.
# Android Audio E2E Keep compilation, installation, and live audio verification as separate result lanes. ## Safety And Scope - Obtain explicit approval in the current run before starting live microphone capture. State that the example package `sound.example` will record a short test clip. - Use non-sensitive audio. Do not upload, transcribe, or retain recordings beyond the verification need. - Preserve existing ADB reverse rules, permissions, accounts, and device files. - Test background recording, phone/audio-focus interruption, Bluetooth routing, or process death only when requested or required by the change. ## Preflight 1. Read `AGENTS.md`, `.github/workflows/ci-android.yml`, the changed Kotlin/spec/TS files, and the relevant example screen. 2. Record `git status --short --branch` and `adb devices -l`. 3. Confirm JDK 17, the Android SDK, and a single intended emulator or device. 4. Verify `RECORD_AUDIO` appears in the example manifest and identify the current permission state without changing it. 5. Run `yarn install --immutable` and `yarn nitrogen` when generated Android bindings are involved. ## Build Lane Mirror the CI build: ```bash yarn turbo run build:android --cache-dir=.turbo/android ``` If diagnosing Gradle directly, run the corresponding example task with `--no-daemon --console=plain` and record the exact task and architecture. Report `BUILD PASS` or `BUILD FAIL` independently. ## Device Runtime Lane After microphone approval: 1. Install and launch `sound.example` on the selected device. 2. Grant microphone permission through Android's system UI; verify denial and retry behavior when permission handling is the target. 3. Start recording; require a resolved path, active state, and increasing millisecond callbacks. 4. Pause and resume; require time to pause and continue without duplicate recorder instances or promise settlement. 5. Stop; require terminal state, listener cleanup, and a non-empty app-owned recording. 6. Play the file; require increasing position, sensible duration, seek, volume, speed, and one playback-end transition as applicable. 7. Run Rapid Switch and Stress Test for MediaPlayer state or concurrency fixes. 8. Inspect filtered `adb logcat` for uncaught exceptions, rejected promises, media-state errors, and leaked recorder/player resources. When lifecycle, audio focus, or background behavior is in scope, explicitly exercise Home/Recent Apps, focus loss/gain, and relaunch. Do not claim process death or background support unless the exact transition was observed. ## Evidence And Cleanup Record the device serial, API level, ABI, build variant, permission state, tested API/screen, callback progression, returned path metadata, and redacted logs. Delete only recordings or temporary files created by the run. Report `RUNTIME PASS`, `RUNTIME FAIL`, or `BLOCKED` separately and list untested rows.
Auf GitHub ansehen