Moropo
RoadmapTerms
  • Welcome to Moropo
  • Quick Start
  • Uploading your app
    • Producing an Android Build
    • Producing an iOS Build
    • Uploading Your Build To Moropo
  • Creating Tests
    • Using the Test Creator
    • Test Configuration
    • Test Step Commands
      • addMedia
      • assertNotVisible
      • assertTrue
      • assertVisible
      • back (Android only)
      • clearKeychain (iOS Only)
      • clearState
      • copyTextFrom
      • doubleTapOn
      • eraseText
      • evalScript
      • extendedWaitUntil
      • hideKeyboard
      • inputRandomEmail
      • inputRandomNumber
      • inputRandomPersonName
      • inputRandomText
      • inputText
      • launchApp
      • longPressOn
      • openLink
      • pasteText
      • pressKey
      • repeat
      • runFlow
      • runScript
      • scroll
      • scrollUntilVisible
      • setLocation
      • startRecording
      • stopApp
      • stopRecording
      • swipe
      • takeScreenshot
      • tapOn
      • travel
      • waitForAnimationToEnd
    • Test Step Selectors
    • Importing From Maestro
    • Environment Variables
      • ${BUNDLEID}
      • ${EXPORELEASECHANNEL}
      • ${MOROPO_TEST_EMAIL}
      • ${MOROPO_EMAIL_URL}
    • Advanced Use Cases
      • JavaScript
      • Conditionals
      • Network Connection
      • Drag and Drop
  • Running Tests
    • Manually Trigger a Test Run
    • Scheduling a Test Run
    • Tags
    • Supported Devices
    • Test Execution Limits
    • Flakiness Tolerance & Retries
  • CI Integration
    • Initial CI Setup In Moropo
    • GitHub Action
    • Moropo API
      • Branches
      • Builds
      • Test Runs
      • Tests
  • Test Results
    • Results Explorer
    • Slack Reporting
    • Email Reporting
  • App Frameworks
    • Flutter
    • React Native
  • Guides
    • React Native Expo
    • Access Emails During A Test Flow
    • Git workflow using Moropo API
  • Infrastructure
    • IP Addresses
  • Security
    • Services Infrastructure
    • Security Best Practices
Powered by GitBook
On this page
  • Which build type should I use?
  • Using Gradle to produce a .apk
  • Using Android Studio to produce a .apk
  • [React Native] Using Expo EAS to produce a .apk
  • Using Flutter to produce a .apk

Was this helpful?

Edit on GitHub
  1. Uploading your app

Producing an Android Build

Last updated 1 year ago

Was this helpful?

Moropo supports running tests on Android using a .apk build file.

Please note:

  • Play Store Android App Bundles (.aab) files are not supported - you must upload a .apk file

  • Your .apk should be compatible with architecture

Which build type should I use?

You can use a Debug or Release build set to use any backend environment.

Many Moropo users configure different test setups for different build types. For example:

  • a Debug build using your Dev Environment that runs a regression suite on each pull request for a single device

  • a Release build using your Staging Environment that runs a full test suite before each production release across a wide range of devices

Using Gradle to produce a .apk

If you're comfortable with the terminal and have a natively-built Android app, you can use to produce your build file:

To produce a debug build, run ./gradlew assembleDebug in your terminal.

To produce a release build, run ./gradlew assembleRelease in your terminal.

The .apk will be exported to your configured output directory, typically: ~/build/outputs/apk/

Using Android Studio to produce a .apk

  1. Launch Android Studio

  2. Open your project

  3. Wait for your build to complete.

  4. Press the locate button on the notification (bottom right) to open your file system and access the .apk

[React Native] Using Expo EAS to produce a .apk

Ensure your eas.config includes the correct setting:

{
  "build": {
    "myProfile": {
      "android": {
        "buildType": "apk"
      }
    }
  }  
}    

Run EAS via your terminal to trigger the build:

eas build -p android --profile myProfile

Using Flutter to produce a .apk

If your app is built using Flutter, you can use the flutter command line inside your terminal.

To produce a Debug build, run flutter build apk --debug.

To produce a Release build, run flutter build apk.

Your .apk will appear in the ./build/app/outputs/ folder.

Click on the Build menu in the top bar, then select Build Bundle(s) / APK(s), then Build APK(s).

If your app is built using React Native, you can use to build your app.

Note: EAS allows a .apk to be produced using various config options; read the .

x86_64
Gradle
Expo Application Services
official docs