归灯是一个面向家庭位置共享的 Android 应用。当前项目由原 Web 端改造而来,使用 React/Vite 构建 Web 界面,并通过 Capacitor 打包为 Android 应用。
- 登录自建归灯服务器
- 注册当前设备并持续上报位置
- 查看设备最新位置和最近轨迹
- 使用高德地图展示位置与轨迹
- Android 端申请位置、后台定位、通知和后台常驻相关权限
- 通过前台服务通知维持后台位置共享任务
应用会申请以下与定位和后台运行相关的权限:
ACCESS_FINE_LOCATION/ACCESS_COARSE_LOCATION:获取当前设备位置ACCESS_BACKGROUND_LOCATION:在应用不在前台时继续共享位置FOREGROUND_SERVICE/FOREGROUND_SERVICE_LOCATION:启动定位类型前台服务POST_NOTIFICATIONS:显示后台常驻通知REQUEST_IGNORE_BATTERY_OPTIMIZATIONS:请求用户允许忽略电池优化WAKE_LOCK:辅助后台任务保持运行
Android 11 及更高版本通常要求用户在系统设置中手动授予“始终允许”定位权限。部分厂商系统还需要用户手动开启自启动、后台运行或电池无限制设置。
安装依赖:
npm install启动 Web 开发服务器:
npm run dev构建 Web 资源:
npm run build同步到 Android 工程:
npx cap copy android构建调试 APK:
cd android
./gradlew assembleDebug调试 APK 输出位置:
android/app/build/outputs/apk/debug/app-debug.apk
Google Play 推荐上传 Android App Bundle。发布前需要配置 release 签名,然后执行:
npm run build
npx cap copy android
cd android
./gradlew bundleRelease发布包输出位置通常为:
android/app/build/outputs/bundle/release/app-release.aab
由于本应用使用后台定位,上架 Google Play 时需要在 Play Console 中填写后台定位权限声明、Data safety 表单,并提供隐私政策 URL 与后台定位用途说明。
归灯会把设备名称、设备标识、当前位置、精度、速度、方向、时间戳和轨迹数据发送到用户填写的自建服务器。发布者应在隐私政策中说明数据类型、用途、存储位置、删除方式和联系方式。
本项目不适用于紧急救援、医疗、执法或其他高风险场景。
本项目采用 Apache License 2.0 开源。
SPDX-License-Identifier: Apache-2.0
Copyright 2026 FM619 TECHNOLOG
详见 LICENSE。