Skip to main content
Momentic supports Android apps running on local and remote emulators. Real devices are not supported.

Prerequisites

For local emulators:
  • Node.js 20.19.0+, 22.12.0+, or 24.0.0+
  • Java JDK 24 (or later)
  • Android Studio (latest stable) with platform-tools and emulator components
  • ANDROID_HOME set in your shell
For remote emulators, no local Android Studio or ANDROID_HOME is required once you have an APK to upload.

Install Node.js

Download from nodejs.org.
node -v  # v20.19.0 or higher

Install Java

Download JDK 24 from Oracle.
java --version  # JDK 24
If java --version isn’t found, re-open your terminal or make sure JAVA_HOME/bin is on your PATH.

Install Android Studio

Download Android Studio and complete the first-run setup. Include:
  • Android SDK Platform-Tools (ADB)
  • Android Emulator

Set ANDROID_HOME

Point ANDROID_HOME at your Android SDK install. Typical locations:
  • macOS: /Users/<username>/Library/Android/sdk
  • Linux: /home/<username>/Android/Sdk
  • Windows: C:\Users\<username>\AppData\Local\Android\Sdk
echo 'export ANDROID_HOME="$HOME/Library/Android/sdk"' >> ~/.zshrc
echo 'export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"' >> ~/.zshrc
source ~/.zshrc

Verify

node -v          # v20.19.0 or higher
java --version   # JDK 24
echo $ANDROID_HOME   # prints your SDK path

Enable WebView debugging

If your app renders content inside an Android WebView, enable WebView debugging so Momentic can attach and interact with elements inside the WebView. Add this to your app’s startup code, before the WebView is used:
WebView.setWebContentsDebuggingEnabled(true);
Without this, interactions against WebView elements fail with InternalWebAgentError: No browser controller is attached to the requested webview.

APK requirements

  • Debug builds with debuggable=true work out of the box.
  • Release builds must enable WebView debugging as above if they contain WebView content.
  • Both ARM64 and x86_64 APKs are supported. Remote emulators use x86_64.

Next steps

Emulators

Local vs. remote emulators and regions

CI/CD

Run Android tests on every pull request