Releases: ShivamXD6/ROM-Shifter
Release list
Eevee - 179
✅ Hotfix with Improved Stability and Features
- Fixed partition loading issues and replaced endless loading with a clear error message.
- Fixed Shifter Directory detection and improved its migration through Settings.
- Improved backup and restore path handling for better reliability.
- Added support for Markdown links and separators in changelogs.
- Limited changelogs to the latest five entries for a cleaner view.
- Added an option to run app installations in the background.
- Updated debug builds to use release signing keys for easier testing.
-
Removed Screenshots by @ShivamXD6
-
Enhanced README with table of contents, future plans, testers, banner and title updates by @ShivamXD6
Eevee - 176
⚡ROM Shifter — Eevee
by @ShivamXD6 (aka @ShastikXD)
🎉 Stable Release is here!
ROM Shifter is an Android app built to make flashing, backing up, and migrating between custom ROMs as painless as possible.
As well provides tools for some common things we do after switching to another ROM.
🚀 Highlights
• 🪶 Everything in One Lightweight App — Flash, Install, Backup, Restore, Manage, Debloat, Systemize — all in one 2.7 MB app.
• ⚡ Fast Backup & Restore — High-speed app backup and restore with parallel processing, tested with backups of up to ~68 GB / 335 apps.
• 📦 Better Compression — Compresses APKs, Split APKs and other backup components to keep your backups smaller.
• 📥 Powerful Batch Installer — Install APK, APKS, XAPK and APKM files individually or in batches, with support for upgrades, downgrades and reinstalls.
• 🔄 Complete ROM Migration — Migrate apps, app data, permissions, SMS/RCS, calls, contacts, Wi-Fi, wallpapers, Bluetooth and more.
...and much more.
🔗 Useful Links:
🌟 All Features
📊 Benchmarks
🚀 Future Plans
👥 Join: @BuildBytes
📬 Get Support: @BuildBytesDiscussion
❤️ Acknowledgements
Thanks to everyone who helped test and support ROM Shifter:
@NaoUsemDrogas
@Black_luciferS
@stfubtech
@Spoidermon2
@Vikrant_R_Rajput
Eevee - 174
Automated pre-release build for Eevee (Build 174).
🔄 Changes in this build:
-
Improved Apps Permissions and Operations handling by @ShivamXD6
- Speed up the Backup and Restore of permissions.
- Only storing allowed/granted permissions and appops.
- Using Filters to filter out the permissions.
- Removed Unnecessary binary declarations
-
Removed the self backup of ROM Shifter app by @ShivamXD6
-
Added Privacy Policy and fixed showSecurityResetDialog being defined twice causing build error. by @ShivamXD6
-
Some fixes Related to Usability by @ShivamXD6
- Fixed App crashing early while restoring Device Data by moving logic so that it will only work when clicking on the Clear Permissions.
- Fixed no System Apps is selecting when using the launchable system apps filter.
-
Improved App Installation Error Handling and Actions by @ShivamXD6
- Added detailed error messages when app installation fails.
- Added an Open button to launch an app directly after installation.
-
Improved things related to Device Data by @ShivamXD6
- Improved Speed for Messages, Calls and Contacts with Better Batch Processing.
- Improved Bluetooth Backup / Restoration.
- Improved percentage calculations.
- Now app Automatically Revokes the Messages, Calls or Contacts access as soon it finishes restoration.
- Fixed same backup of Wallpaper, Wi-Fi and Bluetooth getting created.
- Added a privacy dialog for revoking the permissions when backing up or restoring the Device Data
-
Update README with ROM Shifter setup instructions by @ShivamXD6
- Added instructions for setting ROM Shifter as the default handler for APK files.
-
Update supported Android versions for dynamic colors in README by @ShivamXD6
Eevee - 166
Automated pre-release build for Eevee (Build 166).
🔄 Changes in this build:
-
Added another System Filter to filter out only launchable System Apps in Backup and Debloat List by @ShivamXD6
-
Removed unused helper functions by @ShivamXD6
-
Improved Debloat Logic and Separated the LazyRow actions buttons by @ShivamXD6
- Separated Debloat or Restore and Systemize or De-Systemize options for better clarity.
- Using priv-app directory for systemizer by default.
-
Added Swipe on Main Screen (yeah it was not there I just noticed xd) by @ShivamXD6
-
Updated Size calculation logic for Systemizer by @ShivamXD6
- As it didn't need to display the full app size including data, showing only app size makes more sense xD
-
Updated Some Logics by @ShivamXD6
- Using archive on supported android versions, for not supported one using the -k flag to keep the data while uninstalling.
- Fixed a bug where apps installation failing in documents ui.
-
Added Keep Data option in Debloat use case see below by @ShivamXD6
- Suppose you have many apps on your phone you use them rarely but also can't uninstall it completely with data, so you can use this option to uninstall the app while keeping its data on your phone.
- Updated app logic to recalculate the size of app when keep data toggle is enabled.
-
A lot of improvements and fixes related to the ROM Shifter App Installer by @ShivamXD6
- Fixed URI not passing any path to install the app from some apps such as browser or telegram.
- Fixed failing to fetch bundles in telegram or other apps.
- Fixed ROM Shifter not displaying while sharing .apk, .apks or any bundle app in external apps like telegram.
- Improved analyzing apps speed by only extracting and parsing the base.apk.
- Added some logs to help debugging installation.
- Improved the Installation Mini Screen UI and transitions to give more like a seamless experience.
- And some more things I forgot
-
Reworked on the Device Data Restoration by @ShivamXD6
Note: This update is not compatible with older Native Data backups. Please create a new Device Data backup before restoring it with this version.
- Improved Messages (SMS/RCS/MMS) backups and restores.
- Now it supports medias as well in Messages backups.
- Dropped Support for Android 8 and 9
- Except contacts option keeping toggle on for each device data by default, as most people (including me) uses the cloud contacts backup.
- Included several other improvements and fixes across Device Data handling.
-
Removed the progress counts from backing up / restoring Device Data by @ShivamXD6
-
Added Job counts while Backing Up or Restoring Apps and Processing debloat in background. by @ShivamXD6
-
Fixed the jobs aren't counting in some devices by removing the -r flag by @ShivamXD6
-
Renamed Native Data to Device Data as it sounds much familiar by @ShivamXD6
-
Updated Readme with detailed features section and added benchmarks section by @ShivamXD6
-
Fixed WiFi toggle not working because of case-sensitivity mismatch by @ShivamXD6
- yeah humans makes those silly mistakes still XD
Eevee - 151
Automated pre-release build for Eevee (Build 151).
🔄 Changes in this build:
-
Added Fast Batch APK Installer by @ShivamXD6
- Added support for installing APK, APKS, XAPK, and APKM files individually or in batches.
- Improved installation speed, with significantly faster results compared to the standard installer.
- Added parallel installation of up to 3 apps for faster batch processing.
- Stopped unnecessary Play Protect interruptions during installation.
- Added Play Store installer-source spoofing to avoid root-related "unknown app" detection by some banking apps.
- Added clear installation status for new installs, reinstalls, upgrades, and downgrades.
- Added app details such as target Android version, size, current version, and selected version.
- Added visual indicators to quickly identify upgrades, downgrades, and reinstalls.
-
Updated README.md by @ShivamXD6
Eevee - 150
Automated pre-release build for Eevee (Build 150).
🔄 Changes in this build:
- Added the WiFi,Bluetooth and Wallpaper on Manage Backups. by @ShivamXD6
Eevee - 149
Automated pre-release build for Eevee (Build 149).
🔄 Changes in this build:
- Added Bluetooth, WiFi, Wallpaper Backup & Restore by @ShivamXD6
- Added Bluetooth in Native data to backup/restore the paired devices and bluetooth name.
- Added WiFi in Native data to backup/restore the Saved WiFi Networks.
- Added Wallpaper in Native data to backup/restore the Lock/Home screen wallpapers.
- Added a notification to display the Native data backup/restore progress.
Eevee - 148
Automated pre-release build for Eevee (Build 148).
🔄 Changes in this build:
-
Improved Shell Execution and Error Handling by @ShivamXD6
- Improved support for Legacy Old Android like Android 8
- Simplified root command execution for more reliable shell operations.
- Added automatic tool detection with fallback support for different devices.
- Improved APK installation with validation and fallback handling.
- Added clearer error reporting and logging for failed commands and script operations for logcat operations.
-
Add warning dialog for cross-storage migration by @ShivamXD6
-
Optimized APK Installation and Restore Process by @ShivamXD6
- Improved restore speed by installing Apps parallelly.
- Added automatic cache cleanup before restoring app data.
- Improved package and UID handling to ensure correct app ownership during restoration.
- Simplified system and package management operations for more efficient restores.
-
Improved Restore Performance and Progress Handling by @ShivamXD6
- Improved restore speed by running several post restoration tasks in parallel.
- Improved progress tracking with clearer backup and restore status updates.
- Improved UI state handling to make progress updates more reliable.
- Fixed shell event handling to ensure status messages are displayed correctly.
-
Further Improved the Backup & Restore Speed by @ShivamXD6
- Removed Smooth backup and restore progress reporting for better Speed.
- Optimized background processing to make backup and restore operations faster.
- Fixed Incorrect Android UIDs applying in certain devices by pre-checking for Android UIDs.
- Improved initial app state handling for rooted devices.
- Updated the Android build tools to a newer version.
-
Simplified Restore Process and Post-Restore Handling by @ShivamXD6
-
Fixed app not asking for Root Permission as soon the app starts by @ShivamXD6
-
Fixed incorrect apps sizes by @ShivamXD6
- Fixed the external data being counted twice.
- Fixed the cache being included in data.
-
Added Per-App Component Selection and Smart Matching by @ShivamXD6
- Added support for selecting different backup components for each app.
- Improved Auto Select to automatically match each app with its available backup components.
- Added detection for available App, Data, Permissions, Media, and Android ID components.
- Updated storage calculations and backup processing to respect each app's selected components.
- Added UI indicators to show which components are active for each app.
-
Optimized Permission Handling and Data Restoration by @ShivamXD6
- Improved permission backup and restoration for better performance and reliability.
- Simplified data, media, and OBB restoration handling.
-
Run SETPERM in background to improve restoration Speed by @ShivamXD6
-
Optimized & Improved Backup/Restore Accuracy and Processing by @ShivamXD6
- Reduced backup processing time by reusing calculated app sizes.
- Removed redundant fetching of metadata in script and directly using the already fetched one.
- Simplified backup metadata for more reliable processing.
- Improved APK backup handling using direct file paths.
- Added app version tracking to improve backup and restore handling.
-
Replaced legacy pm commands with cmd package for faster execution by @ShivamXD6
-
Update README descriptions and optimized script parallel jobs logic by @ShivamXD6
Eevee - 134
Automated pre-release build for Eevee (Build 134).
🔄 Changes in this build:
-
Simplified App Removal and Improved Space Calculations by @ShivamXD6
- Added calculation to the other options as well
- Removed the Force Deletion option and simplified app removal to better uninstalls.
- Improved storage calculations to better account for app size and available space.
- Updated storage information to clearly show required or potentially freed space
-
Improved Storage Calculation for Backup Management by @ShivamXD6
- Added more accurate storage tracking for apps and existing backups.
- Added support for showing how much storage can be freed when managing backups.
- Improved backup size detection for more accurate storage information.
-
Clarify permission warning message in MigratorScreen by @ShivamXD6
-
Added Real-Time Storage Tracking and Validation by @ShivamXD6
- Added detailed storage tracking for app, data, and media sizes.
- Added real-time calculation of required storage based on selected apps and backup options.
- Improved storage size detection for installed apps and backup files.
- Disabled backup and restore actions when there is not enough available space.
-
Simplified Versioning and Optimized Shell Script by @ShivamXD6
- Simplified app version and package information handling.
- Optimized metadata parsing to reduce unnecessary processing.
- Updated system app conversion to automatically use the current app version.
-
Implement app restart for root access verification by @ShivamXD6
-
Improved Root Execution and Backup Performance by @ShivamXD6
- Improved root command handling for more consistent access during backups, restores, and flashing.
- Optimized backup and restore scripts by improving CPU usage and removing unnecessary delays.
- Improved background task coordination for more reliable backup and restore operations.
- Improved permission handling when restoring system data such as SMS and call logs.
-
Added Storage Checks and Improved Error Handling by @ShivamXD6
- Added storage checks before backup and restore operations to prevent failures from insufficient space.
- Improved error notifications and UI state updates for more reliable feedback.
- Updated error states with clearer colors and icons.
- Improved metadata checks for faster processing.
-
Optimize app icon backup with caching and redundancy checks by @ShivamXD6
-
Improved Backup Size Detection and Gradle Sync by @ShivamXD6
- Added support for reading backup sizes directly from saved metadata.
- Improved restore screens to show more accurate backup sizes.
- Enabled parallel Gradle syncing to reduce project synchronization time.
-
Simplified Shell Commands and Fixed Script Compatibility by @ShivamXD6
- Simplified root command execution by removing unnecessary command prefixes.
- Fixed script execution issues caused by incompatible line endings.
- Improved shell command formatting and consistency across the app.
-
Consolidated Backup Components and Simplified Migrator UI by @ShivamXD6
- Merged Data with External Data, and Media with OBB to simplify backup options.
- Updated backup and restore handling to use the new five-component structure.
- Improved Auto Select to focus on apps that already have backups.
- Removed the redundant User Apps filter.
- Refined component layouts, icons, labels, and backup time displays.
- Updated the README with new benchmarks and feature information.
-
Replaced Standard Checkbox with Circular Checkbox by @ShivamXD6
-
Added App and Backup Size Display by @ShivamXD6
- Added app and backup size information to the application list.
- Added automatic storage usage calculation for installed apps and backups.
- Improved access to the storage information required for accurate size calculations.
- Updated the UI to display sizes alongside each application.
-
Improve ROM and firmware detection logic by @ShivamXD6
-
Added "Click to Expand" hints to README sections for some new users by @ShivamXD6
-
Suppress SdCardPath lint warnings in FlashManager by @ShivamXD6
-
Optimize Update Checker with Caching and Throttling by @ShivamXD6
- Added caching to reduce unnecessary update requests and data usage.
- Added smarter request limits for background update checks.
- Saved release information locally for faster loading and offline changelog viewing.
Eevee - 116
Automated pre-release build for Eevee (v1) (Build 116).
🔄 Changes in this build:
-
Revamp Material 3 Colors and Standardize UI Surfaces by @ShivamXD6
- Refined color generation to improve saturation and brightness across themes.
- Updated Light, Dark, and AMOLED color palettes.
- Standardized app backgrounds using the main background color.
- Replaced elevated cards with simpler surfaces for a cleaner look.
- Standardized surfaces and removed unnecessary tonal elevation.
- Improved text and icon contrast for better consistency across themes.
-
Docs: Expand Features section in README with detailed descriptions and categories by @ShivamXD6
-
Simplify App and Data Backup Logic by @ShivamXD6
- Simplified the backup process for apps and their data.
- Improved how App and Data backups are handled during migration.
-
Added Permission Component as selectable and Improved Migrator UI by @ShivamXD6
- Added Permissions as a new option.
- Reorganized migration component IDs and ordering.
- Added permission backup and restore.
- Reordered Migrator filter options and moved Auto Select to the front.
- Shortened UI labels such as Android ID to AndID for a cleaner layout.
-
UI: Ensure AnimatedFilterChip scrolls into view when label is shown by @ShivamXD6
-
Feature: Added "Auto Select" feature for context-aware app selection by @ShivamXD6
- On Backup Apps, toggling Auto Select will select apps which aren't already backed-up.
- On Restore Apps, toggling Auto Select will select apps which aren't already restored.
- On Manage Backups, toggling Auto Select will select apps which are already restored.
- On Debloat Apps, toggling Auto Select will select apps which are already backed-up.
-
Using versionCode instead of versionName for apps for accurate pkg checking by @ShivamXD6
-
Feat: Implement automatic APK self-backup to shifter directory by @ShivamXD6
- Add
backupSelftoBackendInstallerto copy the app APK to the storage path using root permissions. - Implement MD5 hash checking to ensure the backup is only updated when the APK changes.
- Trigger backup in
MainViewModelduring engine installation, path updates, and auto-detection. - Clean up unnecessary comments in
NativeManager.
- Add
-
Various Fixes, and Improvements: by @ShivamXD6
- Fixed Restore app issue caused by the trailing spaces in dir.
- Automated the Restoration of Contacts without manually importing vcf with emojis in names and their photos.
- Added red/bold styling for important notes in the app's changelog UI
- Fixed local release build errors by making ABI splits conditional (GitHub actions only)
- Updated README with new screenshots
- Updated Gradle Version to 9.7.0.