Align local and CI JDK requirements with F-Droid's Java 21 environment to keep builds consistent and avoid tooling mismatch.
1.8 KiB
1.8 KiB
Amarok
Amarok is a lightweight Android app that hides files and applications for casual privacy needs. Instead of encryption, it manages file and app visibility using various techniques.
Project Overview
See @.cursor/rules/overview.mdc
Build
Requires JDK 21+:
./gradlew assemble # Build APKs
# Output: app/build/outputs/apk/{flavor}/{debug|release}/Amarok-v{version}+{commit}-{flavor}.apk
# Example (foss debug): app/build/outputs/apk/foss/debug/Amarok-v0.10.0+caa1716-foss.apk
Note: ./gradlew build includes lint checks (mostly missing translations warnings), use assemble instead.
E2E Test
- Launch AVD (if not already running)
Check if device running with mcp
mobile_list_available_devices(more reliable thanadb devices). If not, start AVD with:emulator -avd android_16_avd -no-window -no-audio -no-boot-anim -gpu swiftshader_indirect # Runs in background, wait ~30s until "mobile_list_available_devices" shows "emulator-*" - Install the latest build of the app with adb.
- Spawn agent
mobile-e2e-testerto test the app.- Package name: Use
deltazero.amarok.fossfor FOSS flavor builds (notdeltazero.amarok) - Note: Each agent invocation should test one simple, focused task. For complex test plans, decompose into multiple simple tasks and run agents sequentially. The agent only test user-facing behavior (black-box approach).
- Package name: Use
Agent Rules
- Update @.cursor/rules/overview.mdc to reflect structural changes. Keep it as a concise index.
- Modify @.claude/settings.local.json for permission updates. A restart of Claude Code is required to take effect.
- For temporary files, always use
./tmpfolder under project root to avoid sandbox permission issues. Do not use/tmpor other system temp directories.