fix(android): make Docker APK build pass with Capacitor config, synced lockfile, and JDK 21
- Track frontend/capacitor.config.json with appId/appName/webDir for Capacitor Android setup - Unignore frontend/capacitor.config.json so config is committed with the project - Update Android Docker builder to use JDK 21 (required by current Capacitor/Gradle toolchain) - Switch Docker CMD to JSON-array form for safer signal handling - Refresh frontend package-lock.json to match Capacitor and crypto dependencies required by npm ci
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,6 +15,7 @@ __pycache__/
|
||||
!package-lock.json
|
||||
!frontend/package.json
|
||||
!frontend/package-lock.json
|
||||
!frontend/capacitor.config.json
|
||||
|
||||
# Frontend build output and dependencies
|
||||
node_modules/
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
FROM node:22.14.0-bookworm
|
||||
|
||||
# ── System deps: JDK 17 + tooling ─────────────────────────────────────────────
|
||||
# ── System deps + JDK 21 (required by current Capacitor Android toolchain) ───
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
default-jdk \
|
||||
ca-certificates \
|
||||
wget unzip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV JAVA_HOME=/opt/java/openjdk
|
||||
RUN mkdir -p "${JAVA_HOME}" && \
|
||||
wget -qO- "https://api.adoptium.net/v3/binary/latest/21/ga/linux/x64/jdk/hotspot/normal/eclipse?project=jdk" \
|
||||
| tar -xz -C "${JAVA_HOME}" --strip-components=1
|
||||
|
||||
# ── Android SDK command-line tools ────────────────────────────────────────────
|
||||
# https://developer.android.com/studio#command-line-tools-only
|
||||
ENV ANDROID_SDK_ROOT=/opt/android-sdk
|
||||
ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}"
|
||||
ENV PATH="${JAVA_HOME}/bin:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}"
|
||||
|
||||
RUN mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools" && \
|
||||
wget -q \
|
||||
@@ -51,5 +56,4 @@ RUN cd frontend/android && \
|
||||
./gradlew assembleDebug --no-daemon
|
||||
|
||||
# ── Export APK ────────────────────────────────────────────────────────────────
|
||||
CMD cp frontend/android/app/build/outputs/apk/debug/app-debug.apk \
|
||||
/out/wallet-gen-debug.apk
|
||||
CMD ["cp", "frontend/android/app/build/outputs/apk/debug/app-debug.apk", "/out/wallet-gen-debug.apk"]
|
||||
|
||||
6
frontend/capacitor.config.json
Normal file
6
frontend/capacitor.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"appId": "com.walletgen.app",
|
||||
"appName": "wallet-gen",
|
||||
"webDir": "dist",
|
||||
"bundledWebRuntime": false
|
||||
}
|
||||
990
frontend/package-lock.json
generated
990
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user