Files
WinBoLL/gpsrelaysentinel/README.md

128 lines
4.8 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.

# 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 devices 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 11Gradle 编译)
- **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 <zhangsken@188.com>
4. 新建 Pull Request
## 许可证
[待添加许可证信息]
## 参考文档
- [Android Developer Documentation](https://developer.android.com/)
- [Termux Wiki](https://wiki.termux.com/)
- [Gradle User Manual](https://docs.gradle.org/)