-
-
Notifications
You must be signed in to change notification settings - Fork 13
Permissions
Ava works without root, but some features benefit from elevated permissions. This page covers Shizuku, Root, and Device Admin setup.
| Method | Purpose | Root Required |
|---|---|---|
| Shizuku | Elevated permissions without root | No |
| Root | Full system access | Yes |
| Device Admin | Lock screen without root | No |
Shizuku is an open-source permission management tool that grants apps elevated permissions without root, using ADB or wireless debugging.
- Download and install Shizuku from GitHub
- Enable Shizuku via wireless debugging or ADB
- Open Ava, go to Settings -> Permissions -> Shizuku Authorization
- Tap Authorize
| Status | Description |
|---|---|
| Authorized | Shizuku is running and Ava has access |
| Waiting for authorization | Shizuku is running, tap Authorize |
| Not running | Start Shizuku first |
| Not installed | Download and install Shizuku |
- Screen brightness control
- Display resolution adjustment
- Screen orientation lock
- Intent execution
- Other system-level operations
Note: Shizuku requires Android 7.0 (API 23) or higher. On Android 5-6, the Shizuku card is auto-hidden.
The official Shizuku does not survive device reboots — it must be manually restarted each time. For kiosk devices and always-on panels, this is impractical. A community fork solves this:
- Download and install the Shizuku fork by thedjchi (or pixincreate's fork)
- Open the forked Shizuku, go to Settings and enable Start on boot
- Turn off battery optimizations for Shizuku when prompted
- Set up Shizuku via wireless debugging (or ADB)
- Connect the device to a PC with USB debugging enabled and run:
adb shell pm grant moe.shizuku.privileged.api android.permission.WRITE_SECURE_SETTINGS- Reboot the device — Shizuku will start automatically within a few seconds
This grants the forked Shizuku the WRITE_SECURE_SETTINGS permission, allowing it to modify system settings and auto-start on boot. After reboot, Ava will detect Shizuku automatically — no manual intervention needed.
Tip: For kiosk devices that reboot on power loss (e.g., car head units, smart mirrors), this ensures Ava regains elevated permissions without someone physically tapping the screen.
Root access provides the most stable operation for 24/7 panel use.
Check root status in Settings -> Permissions -> Root Status:
- Granted: Root access available
- Not granted: Root not available or not granted
- Better background protection
- Boot scripts
- Screen control (lock/unlock)
- Reboot device
- Stable Bluetooth proxy on low-end devices
- Automatic permission handling for mods (e.g., Meta Portal Support)
- Wall-mounted panels running 24/7
- Devices with aggressive battery optimization (MIUI, EMUI, ColorOS)
- Bluetooth proxy on low-end BLE chips (compatibility mode)
- Facebook Portal devices with Meta Portal Support mod
Device Admin allows Ava to lock the screen without root.
- Go to Settings -> Permissions
- Find Device Admin
- Tap to enable
- Confirm in system dialog
- Lock screen control from Home Assistant
- Screen lock entity in HA
Note: On some devices (e.g., Facebook Portal), Device Admin cannot be granted through the UI. Use ADB-assisted permission paths instead.
For devices where the system UI fails to grant permissions normally (Android 8 and below, Facebook Portal, etc.):
adb shell appops set com.example.ava.gecko SYSTEM_ALERT_WINDOW allow
adb shell settings put system kill_background_services_list "com.example.ava,com.example.ava.gecko"Use the provision.sh script:
cd ~/Downloads
chmod +x provision.sh
adb devices
./provision.sh com.example.avaSee Mod Store for Meta Portal Support details.
| Permission | Purpose | Required |
|---|---|---|
| Microphone | Voice input | Yes |
| Overlay | Display screensaver, notifications, floating windows | Yes |
| Foreground Service | Keep service running | Yes |
| Camera | Photos and video | Optional |
| Bluetooth | Presence detection and BLE proxy | Optional |
| Location | Bluetooth scanning | Optional |
| WRITE_SETTINGS | Screen brightness | Optional (Shizuku/Root) |
| WRITE_SECURE_SETTINGS | Display resolution | Optional (Shizuku/Root/ADB) |
- Ensure Shizuku is installed and running
- Enable via wireless debugging or ADB
- Go to Settings -> Permissions -> Shizuku Authorization
- Tap Authorize
- If status shows "Not running", start Shizuku first
Shizuku requires Android 7.0 (API 23) or higher. On Android 5-6, the Shizuku card is auto-hidden.
- Ensure the device is rooted
- Grant root access to Ava in your root manager (Magisk, etc.)
- Restart Ava
On some devices, Device Admin cannot be granted through the UI. Use ADB-assisted permission paths:
- Install the Meta Portal Support mod from Mod Store
- Use the provision.sh script with ADB
- Or use Shizuku authorization
Back to Home