diff --git a/README.md b/README.md index ff550fd8b..34a6ccd9d 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,35 @@ app. For simulators, use `pnpm expo:ios:simulator` on iOS. For Android, start an Android emulator first, then run `pnpm expo:android`. +#### Windows: Android development setup + +The npm scripts above use `cross-env`, so they work in Windows PowerShell/cmd +out of the box. The first Android build needs a native toolchain: + +1. Install **JDK 17 or 21** ([Eclipse Temurin](https://adoptium.net)) and set + the `JAVA_HOME` user environment variable to its folder. +2. Install **[Android Studio](https://developer.android.com/studio)** and, in + the **SDK Manager**, install: an Android platform (`Android 15/16`, API + 35/36), **Android SDK Build-Tools**, **Android SDK Platform-Tools**, and an + `x86_64` system image for the emulator. +3. Create an AVD in **Device Manager** (or connect a device with USB debugging). +4. Set the `ANDROID_HOME` user environment variable to your SDK path + (default: `%LOCALAPPDATA%\Android\Sdk`). + +Check that everything is in place: + +```powershell +pnpm expo:doctor:android +``` + +Then start Metro and build the dev client (first build downloads Gradle and +native dependencies, so it takes a while): + +```powershell +pnpm expo:start # terminal 1: Metro dev server +pnpm expo:android # terminal 2: build + install the dev client +``` + Mobile app source lives in [`packages/app-expo`](packages/app-expo). ### AI Configuration diff --git a/README_CN.md b/README_CN.md index 92179df04..05c756dd0 100644 --- a/README_CN.md +++ b/README_CN.md @@ -227,6 +227,34 @@ Expo Go。Expo Go 无法加载 ReadAny 当前依赖的原生模块和应用配 模拟器调试时,iOS 使用 `pnpm expo:ios:simulator`;Android 先启动 Android 模拟器,再运行 `pnpm expo:android`。 +#### Windows:Android 开发环境配置 + +上面的 npm 脚本都用了 `cross-env`,在 Windows 的 PowerShell/cmd 下可直接运行。 +首次 Android 构建需要原生工具链: + +1. 安装 **JDK 17 或 21**([Eclipse Temurin](https://adoptium.net)),并把 + `JAVA_HOME` 用户环境变量指向其目录。 +2. 安装 **[Android Studio](https://developer.android.com/studio)**,在 + **SDK Manager** 中安装:Android 平台(`Android 15/16`,API 35/36)、 + **Android SDK Build-Tools**、**Android SDK Platform-Tools**,以及一个 + `x86_64` 模拟器系统镜像。 +3. 在 **Device Manager** 创建 AVD(或用开启 USB 调试的真机)。 +4. 把 `ANDROID_HOME` 用户环境变量设为 SDK 路径(默认 + `%LOCALAPPDATA%\Android\Sdk`)。 + +检查环境是否就绪: + +```powershell +pnpm expo:doctor:android +``` + +然后启动 Metro 并构建 dev client(首次构建会下载 Gradle 和原生依赖,耗时较长): + +```powershell +pnpm expo:start # 终端 1:Metro dev server +pnpm expo:android # 终端 2:构建并安装 dev client +``` + 移动端源码位于 [`packages/app-expo`](packages/app-expo)。 ### AI 配置 diff --git a/package.json b/package.json index e596e59c8..634d2b3ad 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "expo:ios": "pnpm --filter @readany/app-expo ios", "expo:ios:simulator": "pnpm --filter @readany/app-expo ios:simulator", "expo:android": "pnpm --filter @readany/app-expo android", + "expo:doctor:android": "pnpm --filter @readany/app-expo doctor:android", "expo:prebuild": "pnpm --filter @readany/app-expo prebuild", "eas:device:create": "pnpm --filter @readany/app-expo eas:device:create", "eas:build:android": "pnpm --filter @readany/app-expo eas:build:android", diff --git a/packages/app-expo/assets/reader/reader.html b/packages/app-expo/assets/reader/reader.html index 2463249aa..af3dfb3a1 100644 --- a/packages/app-expo/assets/reader/reader.html +++ b/packages/app-expo/assets/reader/reader.html @@ -4928,7 +4928,7 @@