fix:expo-updates 包会在 expo prebuild 阶段向 Android 项目注入与 EAS Update 相关的 Gradle 任务,导致 assembleRelease 时卡住(挂起不退出)

This commit is contained in:
Developer
2026-03-24 01:26:39 +08:00
parent 3a82151d8d
commit eb4d61669a
4 changed files with 5 additions and 26 deletions

View File

@@ -58,6 +58,8 @@ jobs:
run: chmod +x android/gradlew
- name: Build Release APK
env:
SENTRY_DISABLE_AUTO_UPLOAD: 'true'
run: |
cd android
./gradlew assembleRelease --no-daemon

View File

@@ -41,20 +41,11 @@
"expo-router",
"react-native-video",
"expo-screen-orientation",
"expo-updates",
"@sentry/react-native/expo"
],
"experiments": {
"typedRoutes": true
},
"runtimeVersion": {
"policy": "appVersion"
},
"updates": {
"url": "https://u.expo.dev/eac4192a-ae80-461c-8fff-6e1a8b777bd1",
"checkAutomatically": "ON_LOAD",
"fallbackToCacheTimeout": 0
},
"extra": {
"router": {},
"eas": {

View File

@@ -7,7 +7,6 @@ import { useAuthStore } from '../store/authStore';
import { useDownloadStore } from '../store/downloadStore';
import { useSettingsStore } from '../store/settingsStore';
import { MiniPlayer } from '../components/MiniPlayer';
import * as Updates from 'expo-updates';
import * as Sentry from '@sentry/react-native';
import { ErrorBoundary } from '@sentry/react-native';
@@ -28,18 +27,6 @@ function RootLayout() {
loadDownloads();
restoreSettings();
const checkOTA = async () => {
if (!Updates.isEnabled) return;
try {
const update = await Updates.checkForUpdateAsync();
if (update.isAvailable) {
await Updates.fetchUpdateAsync();
}
} catch {
// 静默失败,不影响正常使用
}
};
checkOTA();
}, []);
return (

View File

@@ -29,7 +29,6 @@
"expo-screen-orientation": "~55.0.8",
"expo-status-bar": "~55.0.4",
"expo-system-ui": "~55.0.9",
"expo-updates": "~55.0.15",
"pako": "^2.1.0",
"react": "19.2.0",
"react-dom": "19.2.0",