# GPSRelaySentinel ## 介绍 ### GPSRelaySentinel 应用描述 #### 中文描述 : GPSRelaySentinel 是一款专业的 GPS 定位中继守护工具,支持真实系统 GPS 定位监听与模拟 GPS 坐标仿真双模式运行。应用后台常驻前台服务,实时接收系统 GPS 位置数据,内置订阅者步长阈值判断机制,可对多个 GPS 订阅视图进行定点推送管理。 提供可视化模拟控制面板,支持选择八大方位、自定义模拟移动距离,自动计算偏移目标经纬度;配备模拟模式勾选开关,可一键切换真实 GPS 工作模式与虚拟仿真模式。模拟状态下系统会接管自定义模拟坐标,忽略原生真实定位数据;普通模式则正常使用设备 GPS 原始位置。 界面采用深色极简风格,全控件灰色文字与灰色边框统一视觉设计,集成日志实时输出面板,方便调试定位轨迹与订阅推送状态,适合定位开发测试、虚拟位置仿真、GPS 中继转发等场景使用。 #### English Description : GPSRelaySentinel is a professional GPS relay and guardian tool, supporting dual modes of real system GPS location monitoring and simulated GPS coordinate simulation. It runs as a foreground persistent background service, receives real-time system GPS location data, and builds-in subscriber step threshold judgment mechanism to manage fixed-point push for multiple GPS subscription views. It provides a visual simulation control panel, supports eight direction selections and custom simulated moving distance, and automatically calculates offset target latitude and longitude. With a simulation mode checkbox, you can one-click switch between real GPS working mode and virtual simulation mode. In simulation mode, the app takes over custom simulated coordinates and ignores original real location data; in normal mode, it uses the device’s native GPS position normally. The UI adopts a dark minimalist design with unified gray text and gray borders for all controls, and integrates a real-time log output panel for debugging location tracks and subscription push status. It is suitable for location development testing, virtual position simulation, GPS relay forwarding and other scenarios. ## 技术栈 - **编程语言**: Java 7(源码) - **编译环境**: Java 11(Gradle 编译) - **Gradle 插件**: 7.2.1 - **安卓 API**: - 最低支持: API 26 (Android 8.0) - 目标版本: API 30 (Android 11) - 编译版本: API 30 ## 软件架构 适配以下安卓开发环境的 Gradle 编译结构: - AIDE Pro - AndroidIDE ## 模块说明 本项目采用多模块结构: - `gpsrelaysentinel` - 主应用模块 - `libappbase` - 基础库模块(提供 OkHttp、Gson、JSch 等基础能力) - `libaes` - AES 加密库模块(提供权限请求、二维码、拼音搜索等扩展功能) ## 核心依赖库 ### 网络相关 - OkHttp 4.4.1 / 3.14.9 - HTTP 客户端 - Gson 2.10.1 - JSON 解析 ### 终端模拟 - Termux: terminal-emulator 0.118.0 - Termux: terminal-view 0.118.0 - Termux: termux-shared 0.118.0 ### 功能组件 - ZXing 3.4.1 - 二维码生成与扫描 - JSch 0.1.55 - SSH/SFTP 客户端 - Jsoup 1.13.1 - HTML 解析 - FastJSON 1.2.76 - JSON 处理 ### UI 组件 - Material Design 1.4.0 - AndroidX 组件库 - PullRefreshLayout 1.2.0 - 下拉刷新 ## Gradle 编译说明 ### 调试版编译 ```bash gradle assembleDebug ``` ### 阶段版编译(发布) ```bash bash .winboll/bashPublishAPKAddTag.sh gpsrelaysentinel ``` ### 版本管理 版本信息由 `gpsrelaysentinel/build.properties` 管理: - `baseVersion` - 基础版本号 - `stageCount` - 阶段构建次数 - `publishVersion` - 发布版本号 - `buildCount` - 构建次数 ## 使用说明 ### Termux 应用配置 1. 安装 Termux 应用(包名: `com.termux`) 2. 配置允许外部应用访问: ```bash echo "allow-external-apps = true" > ~/.termux/termux.properties ``` ### 权限说明 应用需要以下权限: - 网络访问权限 - 存储读写权限 - 相机权限(二维码扫描) - 位置权限(GPS 相关功能) ## 项目结构 ``` gpsrelaysentinel/ ├── src/main/ │ ├── java/ # Java 源码(Java 7 语法) │ ├── res/ # 资源文件 │ ├── libs/ # 本地库文件(含 JNI 库) │ └── AndroidManifest.xml ├── build.gradle # 模块构建配置 └── build.properties # 版本配置文件 ``` ## 参与贡献 1. Fork 本仓库 2. 新建功能分支 (`git checkout -b feat_xxx`) 3. 提交代码(作者: ZhanGSKen ) 4. 新建 Pull Request ## 许可证 [待添加许可证信息] ## 参考文档 - [Android Developer Documentation](https://developer.android.com/) - [Termux Wiki](https://wiki.termux.com/) - [Gradle User Manual](https://docs.gradle.org/)