Files
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

1.9 KiB
Raw Permalink Blame History

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 保存。
  • 代理对象只有在文件中包含代理图形数据时才会显示;没有任何图形数据的字典代理不可见。

开发

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。构建前设置口令:

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 发布。第三方组件许可见应用内“关于 → 开源组件与许可”。