feat: expo-updates热更新 —— shamefully-hoist+缺失包修复

- .npmrc: shamefully-hoist=true (pnpm扁平化兼容Expo Gradle)
- 安装 @react-native/gradle-plugin + jsc-android
- expo prebuild生成无execute调用的Gradle配置
- BUILD SUCCESSFUL 52s, APK 3.5MB含expo-updates
This commit is contained in:
LukeMackin
2026-07-20 18:52:37 +08:00
parent 8044d43abb
commit 084560c058
10 changed files with 17 additions and 1 deletions

2
.npmrc Normal file
View File

@@ -0,0 +1,2 @@
shamefully-hoist=true
shamefully-hoist=true

View File

@@ -1,2 +1,2 @@
#Mon Jul 20 13:05:50 CST 2026 #Mon Jul 20 18:49:30 CST 2026
gradle.version=8.10.2 gradle.version=8.10.2

View File

@@ -12,12 +12,14 @@
"ios": "expo run:ios" "ios": "expo run:ios"
}, },
"dependencies": { "dependencies": {
"@react-native/gradle-plugin": "^0.86.0",
"@yuzu-gca/shared": "workspace:*", "@yuzu-gca/shared": "workspace:*",
"expo": "~52.0.49", "expo": "~52.0.49",
"expo-constants": "~17.0.0", "expo-constants": "~17.0.0",
"expo-file-system": "~18.0.0", "expo-file-system": "~18.0.0",
"expo-status-bar": "~2.0.0", "expo-status-bar": "~2.0.0",
"expo-updates": "~0.27.5", "expo-updates": "~0.27.5",
"jsc-android": "^250231.0.0",
"react": "18.3.1", "react": "18.3.1",
"react-native": "0.76.5" "react-native": "0.76.5"
}, },

12
pnpm-lock.yaml generated
View File

@@ -10,6 +10,9 @@ importers:
packages/client-android: packages/client-android:
dependencies: dependencies:
'@react-native/gradle-plugin':
specifier: ^0.86.0
version: 0.86.0
'@yuzu-gca/shared': '@yuzu-gca/shared':
specifier: workspace:* specifier: workspace:*
version: link:../shared version: link:../shared
@@ -28,6 +31,9 @@ importers:
expo-updates: expo-updates:
specifier: ~0.27.5 specifier: ~0.27.5
version: 0.27.5(expo@52.0.49(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react-native@0.76.5(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(@types/react@18.3.31)(react@18.3.1))(react@18.3.1))(react@18.3.1) version: 0.27.5(expo@52.0.49(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(react-native@0.76.5(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))(@types/react@18.3.31)(react@18.3.1))(react@18.3.1))(react@18.3.1)
jsc-android:
specifier: ^250231.0.0
version: 250231.0.0
react: react:
specifier: 18.3.1 specifier: 18.3.1
version: 18.3.1 version: 18.3.1
@@ -1029,6 +1035,10 @@ packages:
resolution: {integrity: sha512-7KSyD0g0KhbngITduC8OABn0MAlJfwjIdze7nA4Oe1q3R7qmAv+wQzW+UEXvPah8m1WqFjYTkQwz/4mK3XrQGw==} resolution: {integrity: sha512-7KSyD0g0KhbngITduC8OABn0MAlJfwjIdze7nA4Oe1q3R7qmAv+wQzW+UEXvPah8m1WqFjYTkQwz/4mK3XrQGw==}
engines: {node: '>=18'} engines: {node: '>=18'}
'@react-native/gradle-plugin@0.86.0':
resolution: {integrity: sha512-a1RcfaEDqWExCGfCwadIxt4l8FvKYgFqeMf2uzeKyAOnb+vTGNIeCvifFL2MqvgaeYxlER437HbMIajGcuJ1pQ==}
engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0}
'@react-native/js-polyfills@0.76.5': '@react-native/js-polyfills@0.76.5':
resolution: {integrity: sha512-ggM8tcKTcaqyKQcXMIvcB0vVfqr9ZRhWVxWIdiFO1mPvJyS6n+a+lLGkgQAyO8pfH0R1qw6K9D0nqbbDo865WQ==} resolution: {integrity: sha512-ggM8tcKTcaqyKQcXMIvcB0vVfqr9ZRhWVxWIdiFO1mPvJyS6n+a+lLGkgQAyO8pfH0R1qw6K9D0nqbbDo865WQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
@@ -5040,6 +5050,8 @@ snapshots:
'@react-native/gradle-plugin@0.76.5': {} '@react-native/gradle-plugin@0.76.5': {}
'@react-native/gradle-plugin@0.86.0': {}
'@react-native/js-polyfills@0.76.5': {} '@react-native/js-polyfills@0.76.5': {}
'@react-native/metro-babel-transformer@0.76.5(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))': '@react-native/metro-babel-transformer@0.76.5(@babel/core@7.29.7)(@babel/preset-env@7.29.7(@babel/core@7.29.7))':