FORUMS
Remove All Ads from XDA

 View Poll Results: Is Migrate backup and restore working without any errors?

Yes. No errors at all.
 
108 Vote(s)
51.92%
Minor ignorable issues
 
55 Vote(s)
26.44%
No! There are huge errors!
 
45 Vote(s)
21.63%

[APP][ROOT][5.0+][15th Jan] Migrate - custom ROM migration tool

324 posts
Thanks Meter: 860
 
By SayantanRC, Senior Member on 4th November 2018, 03:02 PM
Post Reply Email Thread
Jumping from one custom ROM to another can be a challenging task. So I decided to make an app to simplify the process.

Introducing
Migrate!



With Migrate, you can back up:
  1. App apk
  2. App data
  3. App runtime permissions
  4. Contacts (as vcf file)
  5. SMS messages
  6. Call logs
  7. Current ROM screen DPI
  8. Current default keyboard option

... everything in one app.




Ok. So its just another of those backup and restore apps, right?

Sort of... but with a twist.
Restoring everything requires flashing the backup via TWRP.



All your apps and data are restored to a directory under /data/balti.migrate, /data/local/tmp/migrate_cache (from v2.0+) and a helper app is injected into the system.. Once you boot up your new ROM, the app will spring up, ask for root permission and do all the job while you can relax.



The app is available as an open beta in Google Play Store.

DOWNLOAD

Please download the app and provide feedback. Thank you.

Update:
Attaching apk for people who do not use Google Play Store.

Also
Download from AndroidFileHost

Quote:

Thanks for your support!:
The community waited patiently for my semester exams. I am really very thankful. I have got a new device - Moto G5 Plus for further testing of this app. Thanks!

Donations:
Well, the app already has ads, so you need not explicitly donate anything
But if you are feeling reaalllyyy grateful for the app, you can donate here: paypal.me/sayantanrc
Thanks.

Telegram group!
We now have a new Telegram group for migrate:
http://t.me/migrateApp
This is not to rival XDA but only another form of communication between users and me
Thanks.
Attached Files
File Type: apk migrate_release_2.0.1.apk - [Click for QR Code] (7.38 MB, 3204 views)
File Type: apk migrate_release_2.1.apk - [Click for QR Code] (7.38 MB, 4692 views)
The Following 387 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
 
 
4th November 2018, 03:04 PM |#2  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
FAQ:

How is this app different from Titanium backup?
This app is a ROM migration tool. It not only backs up app and data, but also contacts, SMS, call logs etc. Moreover, the restoration process also involves flashing via TWRP. Titanium backup is an excellent app. Migrate just views the restoration process differently.

Do I need to download the Migrate app to restore the apps?
No. Only your ROM needs to be rooted. The restoration process is handled by a helper app, which deletes itself after restoring everything.

Is it necessary to use Magisk?
The app works best with Magisk. Other options like Lineage OS su addon causes weird errors like incomplete file copy, etc.

All apps are restored from recovery?
No. That is not possible. Because Recovery is a completely different environment from Android. Think of it as installing a Windows game from a Linux distro. Instead from recovery, an app is injected into system which takes up the restore process when android boots up. Most things are automated, so you need not worry much.

A quick word on SD card support...
SD card support in v2.0 requires a Magisk module "ExSDCard Access Enabler", made by developer Romain. According to him, this module requires FUSE support on ROMs. FUSE is supported on some ROMs as a legacy feature as Android has moved away from FUSE to SDCARDFS. As such, the current implementation may or may not work based on your device and ROM.
If it does not work for you, please wait until either the module developer rewrites the module or I find a different implementation Thanks for your patience.
The Following 87 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
4th November 2018, 03:26 PM |#3  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
Changelog

Version 1.0 (beta)
# Initial release

Version 1.0.3 (beta)
# Fixed log sharing
# Share script file in log
# Blacklist Android system from system app backup list (prevents tar socket error)

Version 1.0.4 [5th Nov] (beta)
# Improvements to logging
# Ignore tar socket warnings
# New update-binary to prevent TWRP error 3
# Should fix a null String issue while reading backup data

Version 1.0.5 [7th Nov] (beta)
# Probable fix to "android.os.TransactionTooLargeException"
# Better in app protection to prevent zips from not being made
# App version is now written in logs
# App now targets Oreo instead of Pie to potentially avoid some crashes
# Fixed unexpected ( in restore process

Version 1.1.1 [10th Nov] (beta)

v1.1 (skipping upload)

# [New] Backup verification before zipping
# Major code refactoring and under-the-hood changes
# CANCEL button now kills the backup process
# Fix to "set_progress()" in recovery
# Probable fix to "Failed to change locale for db"
# Probable fix to missing updater-script
# Probable fix to some "Operation not permitted" issues
# Remove illegal characters from backup name
# "Share scripts" option should now work properly.

v1.1.1

# Fix to a no-closing-quote issue in helper

Version 1.2 [12th Nov] (beta)

# Completely avoid "dumpsys" to backup app permissions
# Now app data in tar.gz is unpacked in /data/data
(probable fix to "Operation not permitted" issues in Google Pixel and some other devices)

Version 2.0 [26th Dec] (christmas_beta)

# Experimental SD card support (needs a magisk module)
(please read the previous post)
# Support for split apks
# "Abort" option in Migrate helper
# "Temporary disable" in Migrate helper
# Apks are now unpacked under /data/local/tmp/migrate_cache
(probable fix to some devices unable to install apks)
# Each backup zip now has a busybox file as fallback

Version 2.0.1 [30th Dec] (christmas_beta)

# Fixed a probable crash in Migrate helper (needs a magisk module)

Version 2.1 [15th Jan]

# Minor errors are now suppressed, but recorded in log.
# Fix icon retention form previous backup
# Fix wrong backup duration display.
# Fixed a bug in error correction mechanism.
# Probable fix for some apps not being backed up.
# Fix for error 6 in TWRP for some locales.
# Fixed a long standing wrong /data space calculation in TWRP.
# Migrate helper no longer uninstalls app before installing.
# Added Telegram group link!
The Following 9 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
4th November 2018, 03:26 PM |#4  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
Some plaguing bugs on some devices


"dumpsys not found"
(Severity: mild. Only permissions are not backed up)
Mainly in ASUS devices. Probable solution is to not use dumpsys at all.

Probably fixed in v1.2

"tar: can't execute 'gzip': Permission denied"
(Severity: severe. Do not restore this backup)
I still have no idea why this is happening. Probable solution is use something other than tar.gz


Data files cannot be moved during restore. "Operation not permitted"
(Severity: severe)
No idea yet. Prominent in Google Pixel devices and some Xiaomi devices

Probably partially or completely fixed in v1.2

Error 7 (or 6) in TWRP
(Severity: severe)

This issue which was supposedly fixed in v1.1.1 seems to occur again on few devices
Since I cannot reproduce the issue and the number of error reports are pretty small, please send the recovery.log from TWRP:
- Goto Advanced -> Terminal in TWRP
OR
open an adb shell inside TWRP
- Type the following and press enter: cp /tmp/recovery.log /sdcard/
- Reboot and upload the recovery.log file (from internal sd card) here.



Stuck at calculating size.
(Severity: severe)

This is being reported multiple times. I am still unable to reproduce the issue on my device.
That being said, I will be adding new controls to skip size checking of its stuck on any device, in the next release. Also, I will add more fine logging to see what is actually happening behind the scenes, which cannot be detected by a logcat.

Probably fixed in v2.0

Pocophone TWRP recovery has issues
(Severity: severe)

I need someone to do the following and then upload the file:/sdcard/test_log.log
- TWRP main menu -> Mount -> Data and System should be mounted
- TWRP main menu -> Advanced -> Terminal
OR
open an adb shell inside TWRP
- Type the following commands:

getprop > /sdcard/test_log.log
echo " " >> /sdcard/test_log.log
df /data >> /sdcard/test_log.log
echo " " >> /sdcard/test_log.log
df -k /data >> /sdcard/test_log.log
echo " " >> /sdcard/test_log.log
df -h /data >> /sdcard/test_log.log
echo " " >> /sdcard/test_log.log
df /system >> /sdcard/test_log.log

The following should work as an alternative:
Quote:
Originally Posted by SayantanRC

You have to manually do the following:
1. Open the backup zip file
2. Edit the "package-data.txt" file
3. Put the "data_required_size" as "0"
4. Save the file.
5. Repack the zip file.

"Segmentation fault"
(Severity: unknown)
Mainly in Xiaomi devices. I cannot reproduce it. Neither do I know how much this affects the backup. Please restore a backup and tell me if it works.
The Following 5 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
4th November 2018, 04:43 PM |#5  
RevolverRz's Avatar
Member
Thanks Meter: 12
 
More
Useful
5th November 2018, 06:43 AM |#6  
Senior Member
Flag New Delhi
Thanks Meter: 276
 
More
Quite promising
So what does the helper app really do? Move the apps and data from /data/balti.migrate to their respective directories? How does that work in a booted up ROM?
The Following User Says Thank You to candiesdoodle For This Useful Post: [ View ] Gift candiesdoodle Ad-Free
5th November 2018, 08:06 AM |#7  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
Quote:
Originally Posted by candiesdoodle

Quite promising
So what does the helper app really do? Move the apps and data from /data/balti.migrate to their respective directories? How does that work in a booted up ROM?

The helper app installs the apks using package manager and then unpacks the data of the respective apps in /data/data. Finally it restores all the apps runtime permissions.
The Following 7 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
5th November 2018, 08:54 AM |#8  
ceelos218's Avatar
Senior Member
Thanks Meter: 238
 
More
I got this issue
Attached Thumbnails
Click image for larger version

Name:	Screenshot_Migrate_20181105-005351.png
Views:	7380
Size:	125.4 KB
ID:	4634827  
5th November 2018, 09:22 AM |#9  
Senior Member
Thanks Meter: 330
 
More
Wifi?
5th November 2018, 09:51 AM |#10  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
Quote:
Originally Posted by ceelos218

I got this issue

Please tell how to reproduce the issue.
5th November 2018, 09:52 AM |#11  
OP Senior Member
Flag Kharagpur
Thanks Meter: 860
 
Donate to Me
More
Quote:
Originally Posted by m0d

Wifi?

Maybe added in future
The Following 4 Users Say Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes