Ntrman - Qa-apk Apr 2026
| Step | Tool | Command | |------|------|---------| | Keystore generation | keytool | keytool -genkeypair -v -keystore release.jks -alias release-key -keyalg RSA -keysize 2048 -validity 10000 | | Fastlane lane (sign & upload) | fastlane | ```ruby\nlane :qa_apk do\n gradle(task: "assembleRelease")\n sign_apk(\n keystore_path: "keystores/release.jks",\n keystore_password: ENV['KEYSTORE_PASS'],\n alias: "release-key",\n key_password: ENV['KEY_ALIAS_PASS']\n )
Prepared as a quick‑reference guide for developers, QA engineers, and release managers who need to understand, set‑up, and maintain the NTRMAN – QA‑APK workflow. 1. What Is NTRMAN – QA‑APK? | Component | Description | |-----------|-------------| | NTRMAN | A lightweight N ode‑ T ype‑ R eact MAN ager – a CLI/GUI tool that orchestrates the build, test, and packaging phases for React‑Native (or other cross‑platform) mobile projects. | | QA‑APK | A Q uality‑ A ssured APK – the signed Android package generated after a full suite of automated tests (unit, integration, UI, and performance) has passed. It is the artifact that gets promoted to beta or production tracks. | | Goal | To guarantee that every APK that leaves the pipeline meets a predefined quality gate, reducing “works on my machine” bugs and speeding up release cycles. |
# 2️⃣ Install NTRMAN (if you haven’t globally) npm i -D ntrman # or `npm i -g ntrman` NTRMAN - QA-APK
You can plug these into the section of the config and fail the pipeline if regressions exceed a configurable delta (e.g., > 10 % increase in startup time). 5. CI/CD Integration 5.1 GitHub Actions Example name: NTRMAN QA‑APK
jobs: build-and-test: runs-on: ubuntu-latest container: image: node:18-alpine steps: - uses: actions/checkout@v4 | Step | Tool | Command | |------|------|---------|
- name: Install Java & Android SDK run: | apk add --no-cache openjdk11 git bash wget -qO- https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip | \ bsdtar -xvf- -C $HOME/android-sdk --strip-components=1 yes | $HOME/android-sdk/cmdline-tools/bin/sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
In short, is a standardised, reproducible pipeline that couples a build‑manager (NTRMAN) with a rigorous QA stage, culminating in a production‑ready Android APK. 2. Core Concepts & Architecture ┌─────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Source │ → │ NTRMAN CLI │ → │ QA‑APK Stage │ │ (Git repo) │ │ (build, config)│ │ (test, sign) │ └─────▲───────┘ └───────▲─────────┘ └───────▲─────────┘ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ CI/CD (GitHub Docker / Node Fastlane, Actions, GitLab containers) Gradle, Jenkins) etc. | Layer | Responsibility | |-------|-----------------| | Source | Version‑controlled code, Gradle scripts, native modules. | | NTRMAN | • Parses a ntrman.yml configuration file. • Installs required Node/Java/Android SDK versions via asdf or sdkman . • Executes gradlew assembleDebug (or assembleRelease ). | | QA‑APK | • Runs unit tests ( jest , mocha ). • Executes integration tests ( react-native-testing-library ). • Launches instrumented UI tests with Espresso or Detox . • Performs static analysis ( lint , detekt ). • Generates code coverage and performance metrics . • Signs the APK with the appropriate keystore once all gates pass. | | CI/CD | Orchestrates NTRMAN commands, caches artifacts, and publishes the final APK to Firebase App Distribution , Google Play internal test , or a private artifact repo. | 3. Getting Started 3.1 Prerequisites | Tool | Minimum Version | Installation Tip | |------|-----------------|------------------| | Node.js | 18.x LTS | asdf install nodejs 18.20.0 && asdf global nodejs 18.20.0 | | Java | OpenJDK 11 | sdk install java 11.0.22-open | | Android SDK | Platform‑tools 34+ | sdkmanager "platform-tools" "platforms;android-34" | | Docker | 24.x (optional) | Useful for reproducible builds in CI. | | Git | 2.40+ | Standard. | | NTRMAN | npm i -g ntrman | Installs the CLI globally. | | Fastlane (optional for signing) | 2.221+ | gem install fastlane (or use bundled Fastlane in the Docker image). | 3.2 Project Bootstrap # 1️⃣ Clone the repo git clone https://github.com/your-org/awesome-app.git cd awesome-app | | Goal | To guarantee that every
- name: Cache Gradle & npm uses: actions/cache@v4 with: path: | ~/.gradle ~/.npm key: $ runner.os -gradle-npm-$ hashFiles('**/package-lock.json', '**/gradle/**/*.gradle*')
