Skip to main content
Unveilydocs

First Build

Build and run your first hybrid app.

This page covers the Android (Android Studio / Gradle) build. For iOS builds, see the iOS Build section below and the iOS Configuration Guide. Android requires 7.0+ (API 24) and ships at feature parity with iOS.

Build Types

Debug Build (for development)

# Basic plan Debug build
./gradlew :app:assembleBasicDebug

# Standard plan
./gradlew :app:assembleStandardDebug

# Pro plan
./gradlew :app:assembleProDebug

Release Build (for distribution)

# After setting up the signing keystore
./gradlew :app:assembleBasicRelease

Add signing configuration to app/build.gradle.kts:

android {
    signingConfigs {
        create("release") {
            storeFile = file(System.getenv("KEYSTORE_PATH") ?: "release.jks")
            storePassword = System.getenv("KEYSTORE_PASSWORD") ?: ""
            keyAlias = System.getenv("KEY_ALIAS") ?: ""
            keyPassword = System.getenv("KEY_PASSWORD") ?: ""
        }
    }
    buildTypes {
        release {
            signingConfig = signingConfigs.getByName("release")
            isMinifyEnabled = true
            isShrinkResources = true
        }
    }
}

If the build fails, ask an AI assistant

For Gradle or Xcode build errors, paste the full error log into an AI assistant (Claude, Gemini, ChatGPT) and ask for the cause and a fix — most issues resolve quickly this way. For errors about the license key or signing config, cross-check with the Production Checklist.

Final Check

Make sure all items below are completed before building:

  • TRUSTED_WEB_URL updated
  • app/src/debug/assets/license.key created
  • app/google-services.json placed
  • (Release only) app/src/release/assets/license.key created
  • (Release only) Production license activated

iOS Build (Xcode)

The iOS SDK builds with Xcode. Follow the iOS Configuration Guide for the full project setup, then use this flow to build and ship.

  1. Run xcodegen generate to create the Xcode project, then open the .xcodeproj.
  2. During development, select a device or simulator and run Product → Run.
  3. To ship, select a real-device target and run Product → Archive.
  4. In the Organizer window, choose Distribute App → App Store Connect to upload.

On iOS the license key goes in the app bundle at UnveilyApp/Supporting/license.key, and activation is bound to your Bundle ID / Team ID. See the iOS Configuration Guide for details.

On this page