Files
PhoneViewer/README.md
T
admin f70913481e Rename app to EasyView and make APK build cross-platform
- App display name -> EasyView (Android label, PWA manifest, page titles,
  about/guide text, APK artifact name)
- scripts/build-apk.mjs: auto-detect JDK/SDK/Gradle toolchain instead of
  hardcoded Windows paths; pick highest build-tools; platform 34 fallback;
  path.delimiter classpaths; npm run build without cmd.exe on POSIX
- Add build-apk.sh one-shot Linux build wrapper (loads ven env + keystore)
- Signing keystore renamed to easyview.jks (alias easyview),
  env vars EASYVIEW_KEYSTORE_PASS / EASYVIEW_KEY_PASS
2026-10-26 19:38:42 +08:00

46 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# EasyView / 万能看图
手机 / 平板上的本地 DWG、PDF、EPUB、FB2、XPS/OXPS、CBZ 和图片浏览器。
- DWG 渲染:`@flyfish-dev/cad-viewer`(AGPL-3.0,GitHub: `flyfish-dev/cad-viewer`),WebGL 常驻渲染,支持块展开、图层、文字、填充、线型、样条、标注和常用 DWG 2006–2026 版本。
- 文档渲染:MuPDF.js。
- 前端:Vite + TypeScript;DWG 解析在 Web Worker 中执行,运行时 WASM 位于 `public/wasm/`。
- Android:Kotlin WebView 壳,离线内置全部前端资源,支持文件关联、返回键和 PNG 保存。
- 代理对象只有在文件中包含代理图形数据时才会显示;没有任何图形数据的字典代理不可见。
## 开发
```bash
npm install
npm run dev
npm run typecheck
npm run build
```
## 构建 Android APK
需要 JDK 17+/21、Android SDK(platform 34、build-tools)以及带 Kotlin 编译器的 Gradle 发行版。
本工作区已把这些工具链放在 `../ven/` 下,脚本会自动探测:
| 工具 | 位置 |
| --- | --- |
| JDK | `ven/jdk21`(或 `JAVA_HOME`) |
| Android SDK | `ven/android-sdk`(或 `ANDROID_HOME`) |
| Gradle + Kotlin 编译器的 lib | `ven/gradle-dist/gradle-8.9`(或 `GRADLE_HOME`) |
签名信息不写入仓库,首次构建会自动生成 `android/keystore/easyview.jks`。构建前设置口令:
```bash
source ../ven/node-env.sh # Node 工具链(可选)
export EASYVIEW_KEYSTORE_PASS=your-keystore-password
export EASYVIEW_KEY_PASS=your-key-password # 省略则与上面相同
npm run apk
```
产物:`EasyView-<version>.apk`(仓库根目录),`android/build/` 为中间产物。
`android/keystore/`、测试 DWG、APK、`dist/`、`node_modules/` 均已加入 `.gitignore`。图纸不会上传,解析完全在本地进行。
## 许可
本项目以 AGPL-3.0-or-later 发布。第三方组件许可见应用内“关于 → 开源组件与许可”。