How the timer holds
Each schedule is an AlarmClock entry — the same class Pixel uses for alarms — so Doze cannot batch it. A missed night while the phone is off is skipped; the next matching day is armed on boot.
PIXEL 7 · ANDROID 15 · MAGISK
A native APK for a rooted Pixel 7. It arms exact AlarmClock alarms, warns on a full-screen countdown, then runs su -c reboot through Magisk.
41 KB · minSdk 35 · com.rebootclock.app
SHA-256 54c07c85d309a88e011c59710e305209f70d10469a7d69287d0e1345c1550986
Recurring
Pick days and a time. Weekly, weekdays, weekends, or any mix.
Magisk su
Uses Magisk Superuser. Grant once. Keep the app off DenyList.
Survives reboot
BOOT_COMPLETED re-arms every schedule after the phone comes back.
MAGISK · PIXEL
NEXT RESTART
None set
Add a recurring time to arm the next restart.
Schedules
No schedules yet. Add one for a day and time, and Magisk will reboot the Pixel then.
Interactive preview — the phone app looks like this. Schedules here stay in this browser.
Sideloaded, signed APK. Android 15 only (minSdk 35). Root via Magisk is required — a stock Pixel cannot reboot itself on a timer.
Download RebootClock.apk and open it on the Pixel 7 (Files or Chrome).
If Android blocks it, allow installs from that app under Special app access → Install unknown apps.
Open Reboot Clock once. Magisk will prompt for Superuser — tap Grant. Do not add this app to DenyList.
Allow notifications. Tap Exact alarms and Unrestricted battery on the home screen so Android 15 cannot delay or pause it.
Add a schedule: time, days (Sun–Sat, weekdays, weekends, or every day), and a warning. Use Test restart for an 8s countdown.
Each schedule is an AlarmClock entry — the same class Pixel uses for alarms — so Doze cannot batch it. A missed night while the phone is off is skipped; the next matching day is armed on boot.
Before reboot, a full-screen warning and a high-priority notification give you Cancel or Restart now. Cancel skips this occurrence only. The weekly schedule stays.
Reboot tries Magisk su -c reboot, then su 0 reboot, then svc power reboot. The event log on the home screen records the result.