A next-generation Android theming engine for Samsung One UI 8 (Android 16+) as a spiritual successor to 'Hex Installer', leveraging Shizuku for system-level operations without requiring root access. Named as a combination of "Hex" (from Hex Installer) and "Android" (with "odus" suggesting a path forward).
- Hex-to-Overlay Compilation: Converts hex color codes into system-compatible overlay APKs
- Material You Override: Bypasses One UI 8's aggressive Monet/Material You enforcement
- Dynamic Color Generation: Creates custom color schemes that integrate seamlessly with the system
- Multi-Theme Support: Apply different themes to different system components
- Shizuku Bridge: Leverages Shizuku for INSTALL_PACKAGES and DUMP permissions
- Overlay Management: Advanced overlay activation/deactivation through trusted shell processes
- System UI Modification: Safe modifications to SystemUI, Settings, and Framework components
- Non-Root Privileges: Operates without requiring root access
- Foldable Display Support: Optimized for Samsung Z Flip 5 with dual-screen awareness
- Cover Screen Adaptation: Automatically adjusts UI for cover screen visibility
- Performance Optimization: Efficient resource usage across all device types
- High Contrast Injection: Exploits Samsung's High Contrast accessibility themes to bypass standard theme checks
- Theme Sharing: Export and import custom themes
- Theme Presets: Pre-made themes based on popular color palettes
- Real-time Preview: Live preview of themes before applying
- Hidden Settings Access: Modify system settings that are normally hidden
- Immersive Mode Toggle: Enable/disable immersive mode programmatically
- Quick Settings Customization: Modify quick settings options and grid size
- Status Bar Icon Control: Hide/show specific status bar icons
- System Property Access: Get and modify system properties using Shizuku
- Force Dark Mode: Enable/disable force dark mode for individual apps
- App-Specific Themes: Apply custom themes to specific applications
- Theme Presets per App: Save and load app-specific theme configurations
- Per-App Accent Colors: Customize accent colors for individual applications
- Back Gesture Customization: Double/triple tap on back of device actions
- Gesture Actions: Launch apps, control media, adjust volume, toggle features via gestures
- Customizable Gestures: Assign different actions to various gestures
- Edge Gesture Controls: Swipe from screen edges for various actions
- Gesture Mapping: Associate gestures with specific actions
- Now Playing Integration: Display media information from various sources
- Notification Customization: Modify appearance and behavior of notifications
- Media Session Control: Control playback from the theming engine
- Media Visualizations: Add custom visualizations to media controls
- Media Session Management: Control media sessions across different apps
- App Freezing/Unfreezing: Freeze apps without uninstalling them
- App Hiding: Hide apps from the launcher with secure restoration
- Batch Operations: Perform actions on multiple apps simultaneously
- App Permissions Management: View and modify app permissions
- App Data Management: Clear app data, cache, and manage storage
- App Information: Get detailed information about installed apps
- Hidden Settings Access: Modify system settings normally hidden from users
- Immersive Mode Control: Toggle immersive mode programmatically
- Quick Settings Customization: Modify quick settings options and grid size
- Status Bar Icon Control: Hide/show specific status bar icons
- System Property Access: Get system properties using Shizuku
- Gradient Themes: Create themes with gradient color schemes
- Animated Themes: Apply themes with animated elements
- Texture Themes: Use textures in theme design
- Theme Transitions: Smooth transitions between different themes
- Dynamic Color Palettes: Generate color schemes from images
- App Library Inspection: View libraries used by applications
- System Property Access: Get system properties using Shizuku
- App Resource Inspection: Access app resources (drawables, strings, etc.)
- Installation Source Detection: Determine how apps were installed
- ABI Information: Get app architecture information
- Back Gesture Customization: Double/triple tap on back of device
- Gesture Actions: Launch apps, control media, adjust volume via gestures
- Customizable Gestures: Assign different actions to various gestures
- Gesture Mapping: Associate gestures with specific actions
- Now Playing Display: Show media information from various sources
- Notification Management: Hide/show specific notifications
- Media Session Control: Control playback from the theming engine
- Media Visualization: Add custom visualizations to media controls
- Comprehensive Backups: Backup themes, settings, and configurations
- Selective Restoration: Restore specific components from backups
- Theme Export/Import: Share themes with other users
- Multiple Backup Types: Full, themes-only, settings-only backups
- Foldable Display Optimization: Optimize for Samsung Z Flip 5 and other foldables
- Cover Screen Adaptation: Adjust UI for cover screen visibility
- Display Context Awareness: Detect and adapt to different display states
- Multi-Window Support: Enhanced support for Samsung DeX and multi-window
- App Permission Management: View and modify app permissions
- Privacy Score Calculation: Assess app privacy based on permissions
- Dangerous Permission Revocation: Remove dangerous permissions from apps
- Usage Statistics: Get app usage statistics
- App Firewall: Block network access for specific applications
- Network Monitoring: Monitor app network activity
- Firewall Rules: Create custom firewall rules
- Network Status: Get active network information
- Battery Statistics: Get detailed battery usage information
- App Optimization: Optimize individual app performance
- Power Mode Management: Control performance vs battery saving modes
- Storage Management: Get storage statistics and clean storage
Hexodus features a comprehensive dashboard with:
- Visual Indicators: Each feature category has a distinct color indicator
- Clear Toggles: One-touch enable/disable for all features
- Categorized Layout: Features organized by function and purpose
- Detailed Explanations: Each feature includes a clear description
- Status Indicators: Visual cues showing feature status (enabled/disabled)
All features are organized into clear categories:
- Theming & Customization: Core theming engine and color management
- System Integration: System-level operations and settings
- App Management: App freezing, hiding, and management
- Privacy & Security: App locking, file hiding, and privacy controls
- Network & Power: Firewall, battery optimization, and network controls
- Audio & Media: Equalizer, audio effects, and media controls
- Interaction: Gesture controls and device interaction
- Foldable Support: Optimizations for foldable devices
- Dashboard View: Overview of all features with quick toggles
- Category Exploration: Drill down into specific feature sets
- Feature Details: Detailed information about each capability
- Status Tracking: Visual indicators for feature states
Hexodus is configured with comprehensive GitHub Actions workflows that automatically build, test, and package the application when changes are pushed to the repository.
- Automatic Building: Builds debug and release APKs on every push
- Unit Testing: Runs comprehensive unit tests with each build
- Multi-API Testing: Tests on multiple Android API levels (26, 28, 29, 30, 31, 33, 34)
- Artifact Upload: Automatically uploads built APKs as workflow artifacts
- Release Creation: Creates GitHub releases with signed APKs when tags are pushed
The repository includes two main workflows:
-
Build Workflow (
.github/workflows/build.yml):- Runs on every push and pull request
- Builds debug and release APKs
- Runs unit and instrumentation tests
- Uploads APK artifacts
-
Release Workflow (
.github/workflows/release.yml):- Triggers when a new tag is pushed
- Creates a GitHub release
- Builds and signs release APK
- Uploads APK to release assets
To build the project locally, ensure you have the Android SDK and build tools installed, then run:
./gradlew assembleDebugor for a release build:
./gradlew assembleReleaseThe APK files will be generated in app/build/outputs/apk/.
The CI/CD pipeline ensures:
- Code quality through automated testing
- Compatibility across different Android versions
- Proper APK signing for releases
- Automatic documentation of changes
- ThemeCompiler: Compiles hex colors into overlay APK structures in memory
- ShizukuBridgeService: Proxies overlay commands through trusted shell processes
- MonetOverrideService: Spoofs the system's color palette generation
- HighContrastInjectorService: Generates signed APKs mimicking Samsung's High Contrast themes
- FoldableDisplayService: Handles dual-display contexts for Z Flip 5
This project draws inspiration from various projects in the awesome-shizuku repository:
- Hex Installer: Original concept for hex-based theming
- LibChecker: For system library inspection capabilities
- PrivacyFlip: For system state awareness
- ShizuWall: For secure system operations
- MacroDroid: For automation capabilities
- Android 16+ (One UI 8)
- Shizuku installed and properly configured
- Unlocked bootloader (for Sui on rooted devices)
- Install Shizuku from GitHub/F-Droid
- Grant Shizuku the necessary permissions
- Install Hexodus from releases
- Launch Hexodus and grant requested permissions
- Connect Shizuku via ADB or root (Sui)
- Configure theme preferences
- Apply your first hex-based theme
dependencies {
// Core theming
implementation 'androidx.compose.material3:material3:1.2.0'
implementation 'com.google.android.material:material:1.11.0'
// Shizuku integration
implementation 'rikka.shizuku:api:13.1.5'
implementation 'rikka.shizuku:provider:13.1.5'
// Window management (for foldables)
implementation 'androidx.window:window:1.5.1'
implementation 'androidx.window:window-java:1.5.1'
// Security
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
// Permissions (for Compose)
implementation 'com.google.accompanist:accompanist-permissions:0.32.0'
}- Open Hexodus
- Enter your desired hex color code (e.g., #FF6200EE)
- Customize which system components to theme
- Preview the theme
- Apply to system
- Component Selection: Choose which system elements to theme (status bar, navigation, etc.)
- Intensity Control: Adjust how strongly the theme affects the system
- Export Themes: Share your custom themes with others
- Import Themes: Apply themes created by others
Hexodus operates within Android's permission model while leveraging Shizuku for elevated operations:
- All system modifications are reversible: Every change can be undone
- Themes can be disabled instantly: Immediate rollback capability
- No permanent system changes without consent: Explicit user approval required
- Secure communication channels: Encrypted communication with system services
- APK Signature Validation: All overlay APKs are validated before installation
- Path Validation: All file paths are validated to prevent directory traversal
- Input Sanitization: All user inputs are sanitized to prevent injection attacks
- Command Filtering: Shell commands are filtered to prevent dangerous operations
- Component Isolation: Services are isolated to prevent unauthorized access
- Permission Validation: Proper permission checks for all operations
- Secure Storage: Sensitive data is stored using Android Keystore system
- Encrypted Preferences: Sensitive settings are stored encrypted
- Runtime Validation: All operations are validated at runtime
- Secure IPC: Protected inter-process communication between components
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Hexodus follows Semantic Versioning (SemVer) with the format MAJOR.MINOR.PATCH:
- MAJOR version: For incompatible API changes or major feature additions
- MINOR version: For backward-compatible feature additions
- PATCH version: For backward-compatible bug fixes
- Automated builds on every commit to
mainbranch - Comprehensive testing pipeline
- Automatic release generation with changelog
- APK artifacts for both debug and release builds
- Code changes are made in feature branches
- Pull requests undergo code review and automated testing
- Approved changes are merged to
developbranch - Periodically,
developis merged tomainfor release - GitHub Actions automatically builds and creates releases
For detailed changes, see the Changelog.
- The original Hex Installer by bodhi for inspiring this project
- The Shizuku project for enabling system-level operations without root
- The awesome-shizuku community for showcasing innovative Shizuku applications
- Google for Material Design and Material You concepts
- Samsung for One UI and its theming capabilities
If you encounter any issues or have suggestions, please file an issue on the GitHub Issues page.
For support, join our community discussions or refer to the documentation.
Disclaimer: This project is for educational purposes and personal customization. The authors are not responsible for any issues that may arise from using this software. Use at your own risk.