Merge pull request 'feat: EAS build config for Android APK + BUILD.md (FIBEROPS-210)' (#3) from feat/FIBEROPS-210-eas-build-config into main
This commit was merged in pull request #3.
This commit is contained in:
59
BUILD.md
Normal file
59
BUILD.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Building FiberOps Android APK
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Expo account](https://expo.dev) — register at expo.dev
|
||||
- EAS CLI: `npm install -g eas-cli`
|
||||
- Authenticate: `eas login`
|
||||
|
||||
## Build (EAS Cloud — recommended)
|
||||
|
||||
Builds the APK on Expo's cloud infrastructure. No local Android SDK needed.
|
||||
|
||||
```bash
|
||||
eas build --profile preview --platform android
|
||||
```
|
||||
|
||||
Or via npm script:
|
||||
|
||||
```bash
|
||||
npm run build:android:apk
|
||||
```
|
||||
|
||||
The build will be queued on EAS. Once complete, download the `.apk` from the Expo dashboard or the URL printed in the CLI output.
|
||||
|
||||
## Build (local — requires Android SDK)
|
||||
|
||||
Requires Android SDK installed and `ANDROID_HOME` set.
|
||||
|
||||
```bash
|
||||
npm run build:android:local
|
||||
# or directly:
|
||||
eas build --local --profile preview --platform android
|
||||
```
|
||||
|
||||
Alternatively, use the Expo CLI directly:
|
||||
|
||||
```bash
|
||||
npx expo run:android --variant release
|
||||
```
|
||||
|
||||
## Distribution
|
||||
|
||||
The `preview` profile is configured for **internal distribution** (`buildType: apk`). Share the `.apk` file directly with testers — no Play Store submission needed.
|
||||
|
||||
## Current status
|
||||
|
||||
- QA passed: MOB.1 (manual tasks), MOB.2 (remittance review)
|
||||
- EAS project ID: `15d21320-57f5-4fb6-a116-82d222d914e2`
|
||||
- Package: `com.fiberops.mobile`
|
||||
- Version: `1.0.0` (versionCode: 1)
|
||||
|
||||
## EAS build profiles
|
||||
|
||||
| Profile | Distribution | Output | Use case |
|
||||
|---------|-------------|--------|----------|
|
||||
| `preview` | internal | APK (EAS cloud) | QA / internal testing |
|
||||
| `preview-local` | internal | APK (local Gradle) | Offline / CI builds |
|
||||
| `development` | internal | Dev client | Development |
|
||||
| `production` | store | AAB | Play Store release |
|
||||
1
app.json
1
app.json
@@ -22,6 +22,7 @@
|
||||
"backgroundColor": "#0891B2"
|
||||
},
|
||||
"package": "com.fiberops.mobile",
|
||||
"versionCode": 1,
|
||||
"permissions": [
|
||||
"android.permission.CAMERA",
|
||||
"android.permission.RECORD_AUDIO",
|
||||
|
||||
8
eas.json
8
eas.json
@@ -13,6 +13,14 @@
|
||||
"buildType": "apk"
|
||||
}
|
||||
},
|
||||
"preview-local": {
|
||||
"distribution": "internal",
|
||||
"android": {
|
||||
"buildType": "apk",
|
||||
"gradleCommand": ":app:assembleRelease"
|
||||
},
|
||||
"env": {}
|
||||
},
|
||||
"production": {
|
||||
"autoIncrement": true
|
||||
}
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
"start": "expo start",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"web": "expo start --web"
|
||||
"web": "expo start --web",
|
||||
"build:android:apk": "eas build --profile preview --platform android --non-interactive",
|
||||
"build:android:local": "eas build --local --profile preview --platform android"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native-async-storage/async-storage": "2.2.0",
|
||||
|
||||
Reference in New Issue
Block a user