Repository navigation
Expand file tree
/
Copy pathsetup_instructions_linux.txt
More file actions
64 lines (50 loc) · 3.15 KB
/
Copy pathsetup_instructions_linux.txt
File metadata and controls
64 lines (50 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Dev environment for Android on Linux (updated August 2026, for the API 36 / Android 16 release)
The app is an Ionic 4 / Angular 8 / Cordova project. Two Node versions are needed:
- Node 16 to build the old Angular 8 web app
- Node >= 20 (system node) to run the Cordova CLI (cordova-android 15 requires it)
One-time setup:
1. Install nvm (https://github.com/nvm-sh/nvm), then:
nvm install 16
2. Install the Cordova CLI with the system Node (>= 20):
npm install -g cordova
3. Android SDK (no Android Studio needed):
Download "command line tools" from https://developer.android.com/studio#command-line-tools-only
and unzip so you have ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager. Then:
yes | ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --sdk_root=$HOME/Android/Sdk \
"platform-tools" "platforms;android-36" "build-tools;36.0.0"
yes | ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --sdk_root=$HOME/Android/Sdk --licenses
4. JDK 21 (Temurin) into ~/opt:
cd ~/opt && curl -sSL -o temurin21.tar.gz \
"https://api.adoptium.net/v3/binary/latest/21/ga/linux/x64/jdk/hotspot/normal/eclipse" \
&& tar xzf temurin21.tar.gz
5. Gradle 8.14.2 into ~/opt:
cd ~/opt && curl -sSLO https://services.gradle.org/distributions/gradle-8.14.2-bin.zip \
&& unzip gradle-8.14.2-bin.zip
6. Project dependencies (with Node 16):
nvm use 16
npm install --legacy-peer-deps
7. Add the Android platform (with system Node):
export ANDROID_HOME=$HOME/Android/Sdk
export JAVA_HOME=$(echo $HOME/opt/jdk-21*)
export PATH=$JAVA_HOME/bin:$HOME/opt/gradle-8.14.2/bin:$PATH
cordova platform add android
8. Signing: place momocapture.keystore and momocapture_pass.txt in the folder ABOVE this repo.
(If you are from RITMO and continuing development, contact previous developers for these;
if the upload key is lost, request an upload key reset in Play Console -> Setup -> App signing.)
To build a release AAB for the Play Store, run:
./build_linux.sh
The signed bundle ends up as momocapture.aab in the repo root; upload it in the
Play Console (Production -> Create new release).
For local testing on a phone (USB debugging enabled):
cordova build android # debug APK
adb install platforms/android/app/build/outputs/apk/debug/app-debug.apk
Notes from the 2026 migration (cordova-android 8/12 -> 15, target SDK 34 -> 36):
- Removed obsolete plugins: whitelist, statusbar, splashscreen (built into cordova-android now),
cordova-plugin-androidx and cordova-android-support-gradle-release (pre-AndroidX era; the
latter actively corrupts the generated build.gradle).
- cordova-plugin-local-notification upgraded 0.9.0-beta.2 -> 1.2.3 (maintained again; the old
beta used the removed Gradle compile() API). This pulled cordova-plugin-device up to 3.x.
- Android 16 enforces edge-to-edge drawing, but cordova-android 15 keeps the classic
(non-edge-to-edge) look by default; nothing to do unless Google later requires it.
- iOS is still on cordova-ios 5 and must be updated (cordova-ios 7+, on a Mac with Xcode)
before any new App Store release.