Skip to content

zelara-ai/testing-mobile

Repository files navigation

Zelara Testing

Standalone diagnostic app for validating device-to-device communication and image processing pipelines between mobile and Zelara Core.

Bundle ID: ai.zelara.testing React Native: 0.76.6 (New Architecture)

Features

  • Live Counter — sends an incrementing value to Zelara Core every second over WebSocket
  • Progress Sync — request an immediate push of Core's current progress state
  • Image Processing Test — capture a photo, send to Core, display the color-inverted result
  • QR Pairing — scan Core's pairing QR to establish a TLS WebSocket link
  • BLE Auto-Discovery — reconnects automatically when Core is on the same local network

Prerequisites

  • Node.js 20+
  • JDK 17
  • Android SDK (API 33+) with adb on your PATH
  • A physical Android device or emulator connected via USB with USB debugging enabled

Install from Latest Release

The easiest way — no build toolchain needed.

  1. Download testing-android-apk.zip (or app-release.apk) from the latest release.
  2. Install directly to your device:
adb install app-release.apk

Development (Debug) Build

1. Clone (as part of the core monorepo)

git clone --recurse-submodules https://github.com/zelara-ai/core.git
cd core/apps/testing-mobile

Or if you already have the repo:

git submodule update --init apps/testing-mobile
cd apps/testing-mobile

2. Install dependencies

npm install --legacy-peer-deps

3. Connect your device

Plug in your Android device via USB and verify it is visible:

adb devices

4. Reroute Metro port (USB debugging)

Metro runs on port 8081. Forward it from your device to your machine:

adb reverse tcp:8081 tcp:8081

Re-run this after every USB reconnect or device reboot.

5. Start Metro bundler

In a dedicated terminal, keep this running for the duration of development:

npx react-native start

6. Build and install debug APK

In a second terminal:

npx react-native run-android

This compiles the debug APK, installs it via adb, and launches the app. Metro hot-reload is active while the bundler is running.


Release Build (local)

Use this to produce the same APK as CI without pushing a tag.

1. Build the release APK

cd android
./gradlew assembleRelease

Output: android/app/build/outputs/apk/release/app-release.apk

2. Install to device

adb install app/build/outputs/apk/release/app-release.apk

The release build does not use Metro — no bundler or port forwarding needed.


Architecture

Part of the Zelara monorepo (apps/testing-mobile/). Shared TypeScript packages live in src/packages/ and are resolved by Metro via watchFolders:

  • @zelara/shared — common types
  • @zelara/device-linking — WebSocket/TLS connection primitives
  • @zelara/state — local state management

Requires Zelara Core running on desktop for AI and sync features.

About

No description, website, or topics provided.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors