From 7dab067aed16952e6043a514d59333b6281a20f0 Mon Sep 17 00:00:00 2001 From: Macbook Date: Sun, 14 Jun 2026 17:11:16 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Android=20APK=20=EB=8B=A4=EC=9A=B4?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=20window.open,=20CI=20npm=20ci=20=EB=B3=B4?= =?UTF-8?q?=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @capacitor/browser 제거하고 네이티브 WebView에서 window.open 사용. app node_modules 누락 시 root npm ci 실행. Co-authored-by: Cursor --- app/package.json | 1 - app/src/services/appUpdate.ts | 9 ++------- package-lock.json | 10 ---------- scripts/build-mobile-apk.sh | 2 +- 4 files changed, 3 insertions(+), 19 deletions(-) diff --git a/app/package.json b/app/package.json index 4ec1dff..1317de7 100644 --- a/app/package.json +++ b/app/package.json @@ -14,7 +14,6 @@ "dependencies": { "@capacitor/android": "^7.0.0", "@capacitor/app": "^7.0.0", - "@capacitor/browser": "^7.0.5", "@capacitor/core": "^7.0.0", "@capacitor/haptics": "^7.0.0", "@capacitor/ios": "^7.0.0", diff --git a/app/src/services/appUpdate.ts b/app/src/services/appUpdate.ts index 7110c06..c23c4f0 100644 --- a/app/src/services/appUpdate.ts +++ b/app/src/services/appUpdate.ts @@ -2,7 +2,6 @@ * Android 앱 내 업데이트 — /api/mobile-app/info 버전 비교 후 APK 다운로드 */ import { App } from '@capacitor/app'; -import { Browser } from '@capacitor/browser'; import { Capacitor } from '@capacitor/core'; import { isRemoteVersionNewer, @@ -50,12 +49,8 @@ export async function openApkDownload(release?: MobileAppReleaseInfoDto | null): if (!url) return false; if (Capacitor.isNativePlatform() && Capacitor.getPlatform() === 'android') { - try { - await Browser.open({ url }); - return true; - } catch { - /* fallback */ - } + const opened = window.open(url, '_blank', 'noopener,noreferrer'); + if (opened) return true; } const a = document.createElement('a'); diff --git a/package-lock.json b/package-lock.json index a20b703..8c6da94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,6 @@ "dependencies": { "@capacitor/android": "^7.0.0", "@capacitor/app": "^7.0.0", - "@capacitor/browser": "^7.0.5", "@capacitor/core": "^7.0.0", "@capacitor/haptics": "^7.0.0", "@capacitor/ios": "^7.0.0", @@ -422,15 +421,6 @@ "@capacitor/core": ">=7.0.0" } }, - "node_modules/@capacitor/browser": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@capacitor/browser/-/browser-7.0.5.tgz", - "integrity": "sha512-YF/kC1m1e6c81X/agtAnYItVlqiQ/nXLG+Q3QXNDuiMoRynqa3Guu8ZaV9kWvqQcHoE2w18xz7WGpPOuh+R1fA==", - "license": "MIT", - "peerDependencies": { - "@capacitor/core": ">=7.0.0" - } - }, "node_modules/@capacitor/cli": { "version": "7.6.5", "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-7.6.5.tgz", diff --git a/scripts/build-mobile-apk.sh b/scripts/build-mobile-apk.sh index aa344ac..3368040 100755 --- a/scripts/build-mobile-apk.sh +++ b/scripts/build-mobile-apk.sh @@ -64,7 +64,7 @@ fi log "google-services.json 확인" "$ROOT/scripts/ensure-android-google-services.sh" -if [[ ! -d "$ROOT/node_modules/vite" ]]; then +if [[ ! -d "$ROOT/node_modules/vite" ]] || [[ ! -d "$ROOT/app/node_modules/@capacitor/core" ]]; then log "npm ci (root dependencies)" (cd "$ROOT" && npm ci) fi