Repository navigation
Releases
v1.5.1
HiBig Zero v1.5.1 — E-Ink UI Revamp
UI Overhaul
- Sub-tab navigation: 5 instant-switch tabs (READING, SENSORS, STANDBY, DEBLOAT, APPS) replace the 10-screen vertical scroll
- Header telemetry: live CPU/DOZE/SENS/BATT status merged into the header bar — tap to refresh, zero background polling cost
- Stepper chips: inline 1-tap chips for Wake/Sleep CPU governor, Doze speed, charge ceiling (75/80/85/90/Custom), and auto-shutdown timeout (1H/2H/4H/8H/Custom)
- Hybrid 2 pills:
[ ● ON ]/[ ○ OFF ]and[ ● FROZEN ]/[ ○ ACTIVE ]with unambiguous solid/dashed styling - Long-press APPLY ALL: long-press the header title → confirmation → apply all rules (zero screen cost)
- Suspend & Alarm Shield: unified card with master toggle + 4 checkboxes (kill Bigme shutdown timer, batch alarms, throttle JobScheduler, instant keyguard lock)
- Keys & Gestures: dual-shortcut card for Custom Side Keys and Gesture Settings (auto-disabled when launcher frozen)
New Features
- Tailscale added to the managed app installer (from
tailscale/tailscale-androidGitHub releases) - Instant Deep Doze:
force-idleon screen-off,unforceon screen-on via ScreenReceiver - WhatsApp host added to NetGuard download allow-list
Improvements
- Removed redundant header battery 30s polling timer (telemetry strip handles it)
- DRY_RUN toggle dropped from UI (underlying key preserved as dormant fallback)
- CPU_OPTIMIZER merged into Wake Governor profiles
- Sleep Governor auto-switch enabled when selecting a profile
- Doze modes consolidated: Instant (15s) / Aggressive (5m) / Stock
HiBig Zero v1.5.0
HiBig Zero v1.5.0
🆕 New managed app: Obtainium
Obtainium joins the APPS tab — install and update apps straight from GitHub releases, with no Play Store and no account.
- Uses the plain release asset (
app-arm64-v8a-release.apk), not the F-Droid flavour. They are different packages (dev.imranr.obtainiumvsdev.imranr.obtainium.fdroid) signed by different keys, so mixing them would install a second app or fail the signature check on update. Verified against the published asset. REQUEST_INSTALL_PACKAGESis granted on install, so Obtainium can actually install what it downloads instead of sitting behind a system "Allow from this source" prompt.
🔋 Sleep clamp measured — results published
The screen-off CPU clamp was finally measured on hardware. Full write-up in docs/SLEEP_CLAMP_TEST.md:
- The clamp works — identical work takes 2.44× longer, verified across 8 legs with CPU frequencies recorded in every sample.
- It only matters while the device is awake with the screen off, where it saves ~10–17 mA (the wake profile pins the little cores at a 900 MHz minimum). While the device is genuinely suspended it saves nothing — the firmware powers the cores down regardless of governor.
- The total-energy figure cannot be measured on this hardware: the battery gauge is unusable below ~10 mA (
charge_counterfrozen, positive current reported while discharging) and the timing and current instruments contradict each other by ~6×. This is stated rather than papered over. - Recommendation: the upside is small and bounded while the failure mode is a crippled device, so
SLEEP_GOVERNOR_ENABLED=0is the safer default. Shipped default is unchanged (1), and the failure mode is fully contained by the recovery machinery below.
🛠️ Reliability and hardening (since v1.4.0)
- Self-updater trust boundaries — downloads are restricted to GitHub hosts with every redirect hop re-checked, and the APK must be signed by the same certificate as the running app. A tampered or failed download now fails loudly.
execRootliveness — stdout and stderr are read on separate threads (the old sequential read could deadlock permanently when a command filled the stderr pipe), withwaitFor(timeout)plusdestroyForcibly()so a wedgedsucan never freeze a caller forever.- Screen-state durability, three tiers — dynamic receiver for the hot path, reconciliation on every process start, and a non-wakeup
ELAPSED_REALTIMEwatchdog that repairs a stuck clamp within ~2 s of the screen coming on. Previously a process killed while clamped left the device at 400–900 MHz with 4 cores dead permanently; that state was reproduced on-device before being fixed. - Boot-loop guard — after 3 fast boots the rule pass suspends itself and the header offers RESUME RULES, so a bad rule can't make the device unbootable.
- Boot rule table — the 19 numbered blocks in
BootReceiverare now tables plus explicit steps, with behaviour proven identical by diffing 24 real boot commands against the pre-refactor binary. Kills the ON/OFF drift class that had already caused two bugs. - Config hardening — a package name read from a world-writable file was interpolated into root shell commands at every boot. Closed with
0600owner-only files plus package-name validation; the injection was demonstrated not to execute afterwards. - Persistent log — the log is now a real rotating file (
/data/local/tmp/hibreak.log) instead of a memory-only list, written by a single batched thread. - Charge ceiling — the MTK
current_cmdswitch, with every failure path resuming normal charging.
📥 Install
adb install -r HiBigZero-v1.5.0-release.apkSame signing key as previous releases, so this upgrades in place. HiBigZero-v1.5.0-release.apk.sha256 is attached for verification.
HiBig Zero v1.4.0
HiBig Zero v1.4.0
Fixed: the phone could be left permanently crippled
The sleep CPU profile is applied by a receiver that only lives while the app's
process does. If Android killed the app while the screen was off, nothing
restored the wake profile — the phone woke up stuck at 400–900 MHz with four
cores offline, and opening the app did not fix it. Now repaired two ways: on
any app start, and by a non-wakeup watchdog alarm that survives the process being
killed and restores the profile about 2 seconds after you press the power key.
New: a real battery charge ceiling
Charging actually stops at your chosen percentage (default 80%, resumes at 75%)
by switching the MediaTek charge input, instead of the old toggle that claimed to
cap charging and did nothing. Fail-safe by design: every failure path resumes
charging, and unplugging or rebooting always clears it.
New: logs that survive a restart
Every action is now appended to a real log file, so you can see what the app did
before it was restarted — the boot-time rule pass, charger events, shutdown
decisions. Previously the log existed only in memory and died with the process.
New: boot-loop guard
If rules ever put the device in a boot loop, the app stops applying them after 3
consecutive fast boots and says so in the header, with a RESUME RULES button.
New: dry run
A switch that logs every state-changing action instead of applying it, so a whole
rule set can be rehearsed safely. Status cards keep showing real values.
Faster and quieter
- Cold start roughly 5.5–6.3 s → ~1.7 s; root shells per launch down from 14
to 1–5 - The package list builds in chunks instead of one long UI-thread block
- Root commands no longer read output in a way that could hang the UI, and every
one now has a timeout
Safer
- Updates and app installs only download from GitHub, and the APK must be signed
with this app's own key, verified before anything is installed - Package names read back from config are validated, and the files that feed root
commands are no longer world-writable
Fixed
- Apps were being frozen that you never touched; the OFF path also re-enabled far
too much, undoing deliberate choices - Auto-shutdown: skips while charging, reschedules when you wake the phone, and
has a dry-run mode that logs the decision instead of powering off - Removed 6 app-ops that do not exist on Android 14 and were silent no-ops,
and a global setting that was being changed as a side effect deskclockis no longer in the debloat list (it is the only alarm clock)
Signing: signed with the same key as v1.3.4, so it updates in place.
Installs of v1.3.3 or older use a different key and must be uninstalled once
before they can be replaced.
SHA256: a9f5efc779f6880c829ace4ae1cb959994bc75ce789dba51d033a6b35cf92a66
HiBig Zero v1.3.2
HiBig Zero v1.3.2 - bug fixes
Fixed
- Settings now persist - saveConfig wrote /data/local/tmp/hibreak.conf with a plain FileWriter, which the app UID cannot do (dir is 775 shell:shell, SELinux shell_data_file). Every toggle silently failed and settings reset on restart. Now written via root with chmod 666.
- Deep sleep test button works - it ran a nonexistent full_diag.sh; it now stages the bundled drain_sampler.sh and launches it. The script also accepts a duration (10-min test honors its window).
- Correct current readings below 10 mA - current_now is microamps; small draws were shown raw (2.5 mA displayed as "2500 mA").
- HOTPLUG_4_CORES latch - selecting the E-Reader governor set the flag but nothing cleared it, so cores 4-7 stayed offline even for stock/8-core profiles. Now cleared on profile change.
- ScreenReceiver.saveActiveGov - same root-write fix for /data/local/tmp.
Notes
- Runtime projection uses the 2100 mAh spec-sheet capacity.
- Full install / nothing else required.
HiBig Zero v1.3.1
What's New
- CAPACITIVE_KEYS toggle: Freeze/unfreeze Bigme launcher to configure side-button assignment
- OPEN SETTINGS: Directly opens CustomMenuActivity for capacitive key configuration
- Fix: LocalSend package name corrected (card now updates after install)
- Fix: REINSTALL button now visible in update dialog
- Version bump: versionCode 5, versionName 1.3.1
Full Changelog
HiBig Zero v1.3.0
What's New
- Self-Updater: UPDATE button checks GitHub for new releases, downloads and installs with progress
- MANAGE_EXTERNAL_STORAGE: KOReader and MiXplorer now get full storage access on Android 14
- SELinux-safe installs: APKs staged to /data/local/tmp before pm install
- Resilient version comparison: Handles -rc1, -beta suffixes correctly
- Proper JSON parsing: Migrated from string-scanning to org.json
- Cleaned up su -c nesting: postInstall commands no longer double-wrap with su
Apps Managed
AnyHome, KOReader, E-Ink Bro, Obsidian, MiXplorer, LocalSend
HiBig Zero v1.0.0
HiBig Zero v1.0.0
Zero-Drain Power & Hardware Manager for the Bigme B6 / HiBreak (MediaTek Helio P35, Android 14).
E-ink UI
- Responsive sp typography using the system typeface
- Density-independent dp layout (no raw pixels)
- Compact banner showing app name, version, and author
- Separated tab bar with a clear selected-state indicator
- Collapsible sections across all tabs
- Package Manager with plain-language per-app status and FILTER/SORT dropdowns
- Strict 1-bit monochrome styling with no system grey drawables
- New launcher icon
Install
adb install -r HiBigZero-v1.0.0-release.apkRoot (Magisk v26+) is required.
Artifact
HiBigZero-v1.0.0-release.apk- SHA256:
e034c0a02eb7127798a9c674ba967de54712fd2331060f37d4ab93581d274238