From 53266ccc64bf10dc61a2eb9695c278edbbf2e9bc Mon Sep 17 00:00:00 2001 From: Macbook Date: Sun, 14 Jun 2026 17:04:52 +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=20=E2=80=94=20@capacitor/browser=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Capacitor 7 App 플러그인에 openUrl이 없어 Browser.open으로 외부 다운로드 처리. Co-authored-by: Cursor --- app/android/app/capacitor.build.gradle | 1 + app/android/capacitor.settings.gradle | 3 +++ app/package.json | 1 + app/src/services/appUpdate.ts | 3 ++- package-lock.json | 12 +++++++++++- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/android/app/capacitor.build.gradle b/app/android/app/capacitor.build.gradle index da3f341..f74a1ff 100644 --- a/app/android/app/capacitor.build.gradle +++ b/app/android/app/capacitor.build.gradle @@ -10,6 +10,7 @@ android { apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" dependencies { implementation project(':capacitor-app') + implementation project(':capacitor-browser') implementation project(':capacitor-haptics') implementation project(':capacitor-preferences') implementation project(':capacitor-splash-screen') diff --git a/app/android/capacitor.settings.gradle b/app/android/capacitor.settings.gradle index 11e7b73..c0b79ed 100644 --- a/app/android/capacitor.settings.gradle +++ b/app/android/capacitor.settings.gradle @@ -5,6 +5,9 @@ project(':capacitor-android').projectDir = new File('../../node_modules/@capacit include ':capacitor-app' project(':capacitor-app').projectDir = new File('../../node_modules/@capacitor/app/android') +include ':capacitor-browser' +project(':capacitor-browser').projectDir = new File('../../node_modules/@capacitor/browser/android') + include ':capacitor-haptics' project(':capacitor-haptics').projectDir = new File('../../node_modules/@capacitor/haptics/android') diff --git a/app/package.json b/app/package.json index 1317de7..4ec1dff 100644 --- a/app/package.json +++ b/app/package.json @@ -14,6 +14,7 @@ "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 4a6c50d..7110c06 100644 --- a/app/src/services/appUpdate.ts +++ b/app/src/services/appUpdate.ts @@ -2,6 +2,7 @@ * Android 앱 내 업데이트 — /api/mobile-app/info 버전 비교 후 APK 다운로드 */ import { App } from '@capacitor/app'; +import { Browser } from '@capacitor/browser'; import { Capacitor } from '@capacitor/core'; import { isRemoteVersionNewer, @@ -50,7 +51,7 @@ export async function openApkDownload(release?: MobileAppReleaseInfoDto | null): if (Capacitor.isNativePlatform() && Capacitor.getPlatform() === 'android') { try { - await App.openUrl({ url }); + await Browser.open({ url }); return true; } catch { /* fallback */ diff --git a/package-lock.json b/package-lock.json index 9779d6d..a20b703 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "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", @@ -44,7 +45,7 @@ }, "desktop": { "name": "@goldenchart/desktop", - "version": "0.1.0", + "version": "0.1.4", "dependencies": { "@goldenchart/shared": "*", "@stomp/stompjs": "^7.3.0", @@ -421,6 +422,15 @@ "@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",