ARTICLE · 1356819
车管家离线版上线:装完断网也能用,源码全开源
车管家离线版上线:装完断网也能用,源码全开源
前几天朋友问我:你那个记保养的东西,发我装一个。
这事儿以前我真答不上来。车管家原本跑在我自己 NAS 上,得在局域网里打开网页才算数。外人连不上,谈不上装手机,更没法发给别人。
所以干脆改了一遍:做成一个正经的 Android 安装包,网页全部打包在里面,装完飞行模式也能用。源码也一并开源了,想自用、想改都随便。
先说它到底能干嘛
我自己的用车场景就那几样:机油什么时候该换、上次修了多少钱、这车一年烧掉我多少银子。车管家就管这四件事:
- • 多车档案
:家里几台车、单位几台车,一台一个档案 - • 双维度保养提醒
:既能按里程,也能按时间。有些人一年开不到五千公里,光看里程机油早过期了,这个坑我踩过 - • 维保凭证
:修了什么、换了什么件、花了多少、在哪家店,拍照存档 - • 养车成本统计
:一年下来油钱、保养、维修各占多少,心里有数
前几天刚加的几个小东西,用起来顺手不少:保养规则做成了模板,点一下自动填好项目和周期,不用自己一个个敲;车牌输入改成省份下拉 + 号码,不用切输入法找汉字;档案卡片左滑就能删。
为什么我非要它「不联网」
市面上这类 App 不少,但我自己用着别扭,主要是三件事:
- •
要注册。手机号、验证码,一套下来你的用车记录就跟某个服务器绑死了 - •
数据在云上。哪天它倒闭、关服、改收费条款,你的记录说没就没 - •
想导出简历式的完整账单?不好意思,会员才行
我做的这个正好反过来:不注册、不联网、不用付钱,数据就存在你自己手机的浏览器本地存储里。别人拿不到,我看不到,连它自己也不往外面发。
这版和上一版,区别在哪
上一版我也出过包,但说实话那不算真离线。它是个壳——点开其实是访问一个网址,靠浏览器缓存撑着。头一次必须联网,网址哪天挂了就打不开。
这版不一样,网页文件本身就在安装包里,App 自带的。
怎么验?装完之后开飞行模式,点开,能用。
怎么装(安卓)
两个办法,挑方便的来:
- • 下载安装包
(1.6MB): https://github.com/kenowong/car-maintenance/releases/download/v2.0-offline/carcare-offline-v2.apk - • 直接用网页版
(免安装,也能加到手机桌面): https://kenowong.github.io/car-maintenance/
上面这个安装包就是最新版:已经带 NAS 同步,并修好了"同步状态显示异常"和"界面报错提示遮挡操作"两个问题。之前下过旧版的,直接覆盖安装即可,数据不丢。
手机不方便复制链接的,扫这个:

数据还能同步到你自己的 NAS
完全离线是默认状态,数据就躺在你自己手机本地。但如果你家里、公司有一台 NAS,车管家现在能连上去——多台手机共用同一份养车数据:你手机记的保养,另一台手机、或者 NAS 上的网页版一打开就能看到,不用再手动倒来倒去。
- •
进「设置」,把"NAS 同步"开关打开,填上你 NAS 的地址(例如 http://192.168.1.50:8143) - •
点「测试连接」,连上了会直接显示"已连接",左上角的徽标也会从"数据·本机"变成"数据·NAS" - •
以后每次保存,数据会静默推到 NAS;换手机、清缓存都不怕,重装后从 NAS 拉回来就行
给同行:技术上我是怎么绕过去的
这段写给做开发的看,不感兴趣可以直接跳到结尾开源地址。
思路是Web 资源打进 APK 的 assets,用 WebView 加载。但里面有个坑值得说:
很多人会直接用 file:///android_asset/ 加载,看着最简单,问题出在本地存储不可靠——安卓各版本对这个非正常源的 localStorage 行为不一致,极端情况数据存不进去。整个 App 的数据层是全靠它的,赌不起。
所以我用了 WebViewAssetLoader,把本地资源映射到一个标准的 HTTPS 源下再加载。这样 localStorage、Service Worker 都跟正常网页一模一样,数据落盘稳。
另外顺手记三个坑,省得后来人再踩:
- •
改包名时,Java 源码的包目录也得跟着改。我只改了配置文件没改源码路径,结果编译通过、签名正常,一打开就闪退——运行时找不到入口类。静态检查全绿但就是跑不起来,查了半天 - •
构建依赖 maven.google.com访问不通,换阿里云镜像解决 - •
本机缺 android-36 平台,又不想为此重装 SDK,把依赖的 androidbrowserhelper降到 2.5.0 就能用现有的 android-34 编出来
包名和签名跟上一版保持了一致,所以版本号抬到 2,可以直接覆盖安装升级。提醒一句:存储源变了,旧版的本地数据不会自动迁过去,重要记录先留个影。
源码地址,随便拿
MIT 协议,商用也行,改了自用也行。会 Python 和前端的同行的确可以照着自己的车队改。
有 bug、有想法、想加功能,提个 issue 或者直接找我,别客气。
最后
我做硬件和系统集成二十年,写代码算半个爱好。这两年有个体会:给自己做的工具反而最容易做下去。每天都在真用,哪儿别扭,当天就知道。
如果你公司有车队台账、设备巡检、仓库物料这类「说大不大、说小也烦」的管理需求,也可以聊聊。不一定非要写代码,很多时候一张表、一个流程就能解决掉。
一套进销存,把小生意的货、钱、票管明白 教了三遍还是错的音,孩子用点读笔点一下就跟上了,三年级英语跟读记录
pep-math-coach 更新说明:奥数 240 专题、错题打印扫码、手机端适配 给英语工具加了个「课文跟读」:娃跟着读,系统自动判对错 我把学而思、作业帮、高途的数学方法,做进了一个能自己出题的网页里 不会剪辑,我照样把宣传片做出来了














































































