fix: Android APK 다운로드 — @capacitor/browser 사용

Capacitor 7 App 플러그인에 openUrl이 없어 Browser.open으로 외부 다운로드 처리.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Macbook
2026-06-14 17:04:52 +09:00
parent c840e09885
commit 53266ccc64
5 changed files with 18 additions and 2 deletions
+1
View File
@@ -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')
+3
View File
@@ -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')
+1
View File
@@ -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",
+2 -1
View File
@@ -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 */
+11 -1
View File
@@ -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",