Repository navigation
NetPilot 1.3.0 — 自动化接口总开关 + 自适应采样间隔
1.3.0 更新内容
1. 自动化接口总开关(默认关)
Tasker / Locale 的 3 个 exported 组件(命令接收器、Locale 插件、插件配置界面)现在默认被系统层面禁用(manifest 写 android:enabled="false" + PackageManager.setComponentEnabledSetting)。关着时 Tasker 广播连派发都不会发生——不是「收到再判断」,而是彻底的零唤醒。不用自动化的用户完全不会被拉起进程。
要用的话:设置 → 功能 →「自动化接口」→「启用 Tasker / Locale 接口」。从 1.2.0 升级上来的用户需要重新打开一次。
2. 自适应采样间隔(默认开)
读数靠近任一门限时,采样间隔逐轮 ×0.8 缩短:60s → 48s → 38s → 30s(下限为设置值的一半,且不低于 15 秒);一旦远离门限,立刻恢复成设置的间隔。目的很明确:察觉阈值附近的变化更快,而不是省电——远离门限时不产生任何额外开销。
带宽可在功能页用「灵敏度」滑块调整(2–30 dBm,默认 10 dBm,对应 RSRP 10 dBm / SINR 3 dB / ping 50 ms 三条带)。
它只决定「多久采一次」,不参与判定:门限比较仍然使用原始读数,自适应不可能改变降级/恢复的结果。不想要就关掉这个开关,行为与 1.2.0 逐字符相同。
3. 保活失败时日志会说得清
以前被系统拒绝启动前台服务时只有一句笼统的「保活广播处理失败」,还会跟着记一条自相矛盾的「已拉起」。现在会单独识别并写明「系统拒绝了后台启动前台服务(未授予『忽略电池优化』)」,直接给出下一步该做什么。
4. 一项查证后没有做的优化
原本打算「已降级 + 冷却期内跳过整轮网络探测」。逐行核对状态机后否掉了:已降级分支里 noResponse 的消费点排在冷却闸门之前,跳过探测会让失败计数凭空 +1,触发本不该发生的回滚。要安全地做就得改状态机的输入语义,按「漏检比多耗电糟糕得多」的原则放弃。这一条如实写进了 docs/POWER_REPORT.md §6.2。
5. 其它
- 跑了一次 lint 排查
compileSdk 37 + minSdk 34下的高版本 API 误用:NewApi0 条。 docs/TESTING.md新增 §17(本次三处改动的验收步骤),并记录了构建环境的一个真实陷阱:Gradle 配置缓存命中时,APK 会沿用上一版的versionCode/versionName(构建全绿、时间戳也是新的,值却还是旧的),发布前必须用aapt2 dump badging核对。
兼容性与约束
- 判定语义、既有默认值、用户可见行为均未改变。新增的两个配置项:
np_tasker_enabled默认关,np_fake5g_adaptive_interval默认开。 - 未新增任何依赖;未引入唤醒锁、精确闹钟权限或第二个前台服务通知。
versionName 1.3.0/versionCode 2026100502(minSdk 34/targetSdk 36/compileSdk 37)。- 同一把签名 key(SHA-256
34100875…4c4c,与 1.0.1 / 1.1.0 / 1.2.0 一致),可直接覆盖安装,配置不会丢。
校验(可自行复现)
apksigner verify --print-certs NetPilot-1.3.0-2026100502-release.apk
# SHA-256: 34100875b45d7c4dc9928030b3329b5490869a236155f9ce08b1dc70c7434c4c
aapt2 dump badging NetPilot-1.3.0-2026100502-release.apk | head -1
# versionCode='2026100502' versionName='1.3.0'
zipalign -c -P 16 -v 4 NetPilot-1.3.0-2026100502-release.apk
# Verification successful (16 KB 页对齐,满足 2027-02-01 起的强制要求)
| 文件 | NetPilot-1.3.0-2026100502-release.apk |
| 大小 | 33,146,557 B |
| MD5 | 0e528d52fef4390ca48fd5e6cd3069e8 |
| SHA-256 | 744b44e10f1bf8ade85f5035560ca41aa67a214d0646c1feed7987b51841b84a |
安装与验收步骤见仓库内的 docs/TESTING.md §16(1.2.0 的耗电优化)与 §17(本次改动)。