Fern
1.8.4 · GitHub
More about this app
Material 3 live system monitor for CPU, RAM, storage, battery, thermal and network, with an optional Shizuku shell for elevated readings.
Fern
Live system pulse for Android — CPU, RAM, storage, battery, thermal, network, and hardware tests.
Material 3 · offline · no ads · small release APK (R8 + resource shrink).
Features
| Metric | Source |
|---|---|
| CPU % | Multi-path /proc/stat dual-sample + cross-tick; loadavg fallback |
| CPU detail | Cores, current/max MHz, governor, ABI, chip, load 1/5/15 |
| RAM | Used / free / total + app heap |
| Storage | Internal StatFs; external when distinct |
| Battery | Level, charge state, health, tech, °C, mV, mA + sparkline |
| Thermal | PowerManager status (API 29+) |
| Network | Type + live KB/s throughput |
| Display | Resolution, DPI, refresh Hz |
| System | Security patch, kernel, locale, timezone, sensor count |
Tabs
- Home — live status, gauges, bars, trend sparklines, manual refresh
- Details — processor, memory, power, display, device peaks; share snapshot
- Active Apps — recently active apps (optional Usage access; data stays on device)
- More — Tests, Settings, Sensors
Permissions
| Permission | Required | Purpose |
|---|---|---|
ACCESS_NETWORK_STATE |
yes | Network type / throughput on Home |
VIBRATE |
yes | Haptics and Tests vibration |
PACKAGE_USAGE_STATS |
optional | Active Apps only — user grants Usage access in system settings; never leaves the device |
No internet permission. No accounts. No tracking.
Advanced mode (optional)
Off by default. In More → Settings, enable Advanced mode to use Shizuku (recommended) or root:
- Real thermal zones for the Home Thermal bar
- Per-app memory on Active Apps
- Force-stop from the app list
Shizuku never runs until you install it, start it, and grant Fern. Root is only used if su is present and Advanced mode is on.
UX
- Centered top bar, fade tab transitions, nav labels only when selected
- Soft surface containers, refined green Material 3 palette (light + OLED dark)
- Sampling can pause in background; optional haptic feedback
Fully offline after install.
Build
./gradlew assembleDebug assembleRelease
Min SDK 26 · Target 35 · Kotlin + Jetpack Compose + Material 3.
CI builds debug + release APKs and attaches them to GitHub Releases on main / tags.
Release signing uses GitHub secrets when present; otherwise falls back to the debug keystore.
Changelog
See CHANGELOG.md.
Website
Landing page: index.html at the repo root (GitHub Pages from /). Not part of the Android APK build.
License
MIT · wized2/Fern
How Shizuku is used
Can read accurate CPU, per-app memory and CPU, thermal sensors and force-stop apps via `Shizuku` shell and system service
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Fern uses Shizuku to power an optional Advanced mode with more accurate system readings and app control.
- Measure accurate CPU: reads total CPU load from
cat /proc/stattwice through Shizuku to calculate real usage for the monitor. - Show per-app memory: collects per package memory use with the
dumpsys meminfoshell command through Shizuku, falling back to thepsshell command. - Show per-app CPU: collects top package CPU use with the
dumpsys cpuinfoshell command through Shizuku for the Active Apps list. - Read thermal sensors: reads temperature zones from the thermal sysfs through Shizuku to show zone list and maximum temperature.
- Stop running apps: stops an app selected in the Active Apps list with the Activity Manager force stop function through Shizuku, or with the
am force-stopshell command through Shizuku.
Android APIs or commands used
cat /proc/statdumpsys meminfodumpsys cpuinfops -A -o NAME,RSScat /sys/class/thermal/thermal_zone*/typecat /sys/class/thermal/thermal_zone*/tempam force-stopandroid.app.IActivityManager#forceStopPackage
Changelog
What's new for version 1.8.4
Fern 1.8.4
Live system pulse — Material 3 resource monitor.
Fern-release.apk — R8 + resource-shrunk (from main)
What's new
- Advanced mode (optional): Shizuku or root for thermal zones, per-app RAM/CPU, force-stop
- Active Apps, Sensors, Hardware details, thermal bar on Home
- OLED-friendly dark theme · offline · no ads
Important (Shizuku): start Shizuku → allow package com.endroid.fern → open Fern → Advanced ON → Grant / Refresh.
Debug APK is a workflow artifact on this run.
Min SDK 26 · MIT
Full Changelog: https://github.com/wized2/Fern/compare/v1.8.3...v1.8.4
Permissions
9 permissions requested