应用下载

下载校园网助手 v1.3.0(Android APK)

安装包:CampusNet-1.3.0-DualNetwork.apk,约 70 KB。需要 Android 12 及以上系统,优先适配 Xiaomi 15 / Xiaomi HyperOS。当前认证接口针对本校校园网配置,其他学校需调整接口后使用。

一、项目概述

校园网助手是一款面向 Android 设备的轻量级校园网络管理应用,主要解决校园网需要频繁进行门户认证、跨教学楼后容易掉线、网络质量不稳定以及 Wi-Fi 与移动数据状态难以判断等问题。

应用根据学校现有的 Dr.COM/ePortal 登录接口完成认证,并通过 Android 系统网络回调实时感知 Wi-Fi 连接、IP 地址、默认网关及网络验证状态。当用户从一栋教学楼移动到另一栋教学楼,或设备重新连接校园 Wi-Fi 时,应用能够快速判断网络环境是否发生变化,并在需要时自动重新登录。

当前版本为 v1.3.0,优先适配 Xiaomi 15 与 Xiaomi HyperOS,同时兼容 Android 12 及以上系统。

二、项目背景

校园网络在实际使用中可能存在以下问题:

  1. 连接校园 Wi-Fi 后仍需手动打开认证页面登录。
  2. 从 A 教学楼移动到 B 教学楼时,设备虽然仍显示连接 Wi-Fi,但 IP、子网、网关或认证状态已经发生变化。
  3. 部分接入点信号弱、丢包率高,网页长时间无法打开。
  4. 用户无法直观比较校园 Wi-Fi 与移动数据的网络质量。
  5. 普通定时轮询工具耗电较高,并且可能频繁请求学校认证服务器。

本项目通过事件驱动的网络监听、低频健康检查和指数退避重试机制,在可靠回连与低功耗之间取得平衡。

三、主要功能

1. 校园网认证

  • 根据指定的 ePortal GET 接口自动构造登录请求。
  • 自动读取当前 Wi-Fi 的 IPv4 地址和默认网关。
  • 支持手动立即登录和后台自动登录。
  • 不在日志、通知或界面状态中输出账号密码及完整登录 URL。

2. 断联自动回连

  • 监听 Wi-Fi 接入、断开和网络能力变化。
  • 网络验证失效或出现认证门户时进行快速连通性检查。
  • 认证失败后采用指数退避策略重试:从 5 秒开始,最长等待 5 分钟。
  • 避免网络故障或密码错误时高频访问认证服务器。

3. 楼宇漫游优化

  • 识别 Wi-Fi 网络对象重新建立。
  • 检测 DHCP IPv4、子网、接口和默认网关变化。
  • 跨教学楼或接入点切换后快速重新认证。
  • 对系统暂时保留旧网络验证状态的情况设置短时强制认证窗口。

4. 双网检测与质量评估

  • 同时显示 Wi-Fi 和移动数据的网络状态。
  • 展示 IP 地址、网关、DNS、网络接口、计费状态、验证状态及链路能力。
  • 按需临时唤起移动数据链路。
  • Wi-Fi 与移动数据并行执行延迟和下载测试。
  • 每条链路最多读取约 1 MB 测速数据,减少移动流量消耗。
  • 根据连通性、延迟和下载速度计算质量分数并给出使用建议。

5. 网络测速

  • 测量校园网门户访问延迟。
  • 支持自定义 HTTPS 测速文件地址。
  • 测速仅在用户主动点击后执行,不在后台消耗大量流量。

6. 隐身通知模式

  • Android 13 及以上系统不主动申请普通通知权限。
  • 前台服务记录不会出现在普通通知栏,只保留在系统运行管理入口。
  • 通知没有点击跳转和操作按钮,避免误触打开应用。
  • Android 12 按系统要求保留静默、低优先级且不可点击的前台服务通知。

7. 开机恢复

  • 用户开启自动回连后,手机重启或应用更新完成时恢复网络守护。
  • 用户关闭自动回连后不会自行启动服务。

四、技术架构

项目使用原生 Java 和 Android 平台 API 开发,不依赖第三方运行框架。

模块 主要职责
MainActivity 设置界面、网络信息展示、测速操作和系统设置入口
ReconnectService 前台网络守护、断联检测、漫游识别和自动重试
LoginClient 构造并发送校园网认证请求、检查互联网连通性
NetworkInspector 获取 Wi-Fi、移动数据、IP、网关、DNS 和链路能力
DualNetworkTester 并行测试 Wi-Fi 与移动数据并计算质量评分
SpeedTest 单网络延迟与下载速度测试
CredentialStore 使用 Android Keystore 加密保存账号密码
BootReceiver 手机重启或应用更新后的服务恢复
AppPrefs 保存非敏感设置和运行状态

五、核心流程

1
2
3
4
5
6
7
8
9
10
11
12
13
连接校园 Wi-Fi
│
▼
系统 NetworkCallback 通知应用
│
├── 网络已验证 ──► 保持监听
│
├── 出现认证门户 ──► 连通性探测 ──► 自动登录
│
└── IP/网关/网络对象变化 ──► 判定楼宇漫游 ──► 快速重新认证
│
▼
失败时指数退避重试

六、低功耗设计

  • 使用 ConnectivityManager.NetworkCallback 接收网络变化事件,避免持续高频轮询。
  • 默认仅按分钟级间隔进行轻量联网检查。
  • 所有阻塞网络请求均在后台单线程中执行。
  • 双网测速和移动链路请求仅由用户主动触发。
  • 测试结束后立即释放移动网络请求。
  • 无 Compose、WebView、数据库和第三方网络库,降低安装包和运行内存占用。

七、安全与隐私

本地凭据保护

账号和密码使用 Android Keystore 生成的 AES-GCM 密钥加密,SharedPreferences 中只保存密文和随机初始化向量。应用备份与设备迁移规则会排除所有私有数据,避免无法迁移的密文或敏感配置进入云备份。

网络安全限制

学校认证服务器使用 HTTP,因此账号密码在校园网络中的传输无法获得 TLS 加密保护。应用通过 Network Security Configuration 仅允许向 172.16.253.3 发起明文 HTTP 请求,其他地址默认禁止明文通信。

权限控制

应用仅使用以下必要权限:

  • INTERNET:访问校园认证服务器及测速地址。
  • ACCESS_NETWORK_STATE:读取网络连接和验证状态。
  • CHANGE_NETWORK_STATE:在用户执行双网测试时临时请求移动数据链路。
  • FOREGROUND_SERVICE:维持用户明确开启的自动回连服务。
  • FOREGROUND_SERVICE_SPECIAL_USE:声明持续校园网认证守护用途。
  • RECEIVE_BOOT_COMPLETED:在用户已启用自动回连时恢复服务。

应用不申请定位、通讯录、短信、存储、电话状态或真实硬件 MAC 权限。

八、网络优化能力边界

Android 普通应用只能为自身的网络连接选择 Wi-Fi 或移动数据,不能直接替浏览器、微信等其他应用修改系统路由。因此,当前版本的双网功能用于并行检测、评分和推荐,不会宣称已经替全手机完成网络切换。

真正实现全手机 Wi-Fi 与移动数据自动分流,需要使用 Android VpnService。如果希望把同一个下载或连接的带宽进行叠加,还需要公网中继服务器负责重组流量。这种方案会带来 VPN 系统标识、服务器费用、额外延迟、移动流量消耗和更高的隐私责任,因此不包含在当前轻量版本中。

对于校园内个别网络质量较差的楼宇,应用提供小米 WLAN 设置入口。用户可以根据机型支持情况尝试开启:

1
设置 → WLAN → 网络加速 → 智能多网络加速 / 双 WLAN 加速

九、兼容性

  • 最低系统:Android 12,API 31。
  • 目标系统:Android 16,API 36。
  • 优先测试机型:Xiaomi 15、Xiaomi HyperOS。
  • 使用原生 Android API,能够兼容大部分 Android 12 及以上品牌设备。
  • Android 17 设备可以兼容运行;项目暂不将目标版本提升至 API 37,以避免校园局域网访问额外要求运行时权限。

十、构建与运行

环境要求

  • Android Studio
  • JDK 17 或更高版本
  • Android SDK 36
  • Gradle Wrapper 已包含在项目中

构建步骤

  1. 使用 Android Studio 打开项目根目录。
  2. 等待 Gradle 同步完成。
  3. 选择 app 配置并连接 Android 设备。
  4. 点击运行,或在命令行执行:
1
./gradlew assembleDebug

Windows 环境可以执行:

1
.\gradlew.bat assembleDebug

生成的 APK 位于:

1
app/build/outputs/apk/debug/app-debug.apk

十一、使用方法

  1. 将手机连接到校园 Wi-Fi。
  2. 打开应用并填写完整校园网账号和密码。
  3. 开启“断联自动回连”并保存设置。
  4. 首次使用可点击“立即登录”确认认证接口正常。
  5. 网络较差时使用“双网并行测速并推荐”比较 Wi-Fi 和移动数据。
  6. 根据推荐结果手动切换网络,或进入 Xiaomi HyperOS 网络加速设置。

十二、后续规划

  • 增加可导出的脱敏网络诊断报告。
  • 记录不同教学楼或网关的历史网络质量。
  • 根据连续丢包而不仅是单次请求判断网络状态。
  • 支持用户配置多个校园认证地址。
  • 增加可选的通知显示模式。
  • 在具备可信公网中继服务器的前提下,评估 VPN 智能分流版本。

十三、项目总结

校园网助手以“小体积、低功耗、自动恢复、安全保存凭据”为设计目标,重点解决校园门户认证和跨楼宇漫游导致的断网问题。项目充分利用 Android 原生网络回调和多网络 API,在不获取高风险权限、不常驻高频轮询、不依赖第三方服务的前提下,为校园网络提供自动认证、状态诊断和双网质量评估能力。