FORUMS

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

Yes. No errors at all.
 
216 Vote(s)
40.45%
Minor ignorable issues
 
137 Vote(s)
25.66%
No! There are huge errors!
 
181 Vote(s)
33.90%

[APP][ROOT][5.0+][25th April] Migrate - custom ROM migration tool

362 posts
Thanks Meter: 1,465
 
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!

Migrate-GPE (v3.1.1) is on Google Play
It was temporarily suspended. Read more here: https://forum.xda-developers.com/sho...postcount=1273

Download from Google Play Store
Download from AndroidFileHost
Download from XDA labs



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
  9. App installer (Migrate 3.0)
  10. Adb state (Migrate 3.0)
  11. Font scale (Migrate 3.0)

... 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.



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.

Migrate Mercury (v3.1.1) release

Hello everyone.
Migrate 3.1.1 is now released.

From now on, there will be two editions of Migrate.

Migrate NG: This is the Non-Google and Beta edition. It is not published on Google Play store. It will continue having in-app updates. Moreover new features will be tested on these builds first. People who did not like firebase analytics, this edition is for you as it does not have firebase SDK anymore. However, Google admob ads are still present.

Download link (NG): https://www.androidfilehost.com/?fid...26312261780530

Migrate GPE: This version is Google Play Edition. It is the stable version. It does not have in-app updates anymore as it violated Google Play policies.
Download on Google Play: https://play.google.com/store/apps/d...=balti.migrate

Coming from alpha 3.1, if you update via the in-app updater, you will be switched to the Non-Google Edition.

Thank you.

Want to translate the app?
The strings.xml file is available here: https://github.com/SayantanRC/translations

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_3.1.1_NG.apk - [Click for QR Code] (11.32 MB, 1230 views)
File Type: apk migrate_3.1.1_GPE.apk - [Click for QR Code] (11.64 MB, 438 views)
File Type: apk MigrateHelper.apk - [Click for QR Code] (5.39 MB, 758 views)
The Following 530 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: 1,465
 
Donate to Me
More
FAQ:

Click here for Troubleshooting options

If you are facing issues while flashing, refer to this video: https://youtu.be/0Cp6TNayXnM
Full manual extract guide: https://forum.xda-developers.com/sho...postcount=1269

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 127 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: 1,465
 
Donate to Me
More
Changelog

Version 3.1 [25thApril 2020]

# Fix issue in v3.1 where restore would not be possible for apps with unsupported characters in the name.

Version 3.1 [24thApril 2020]

# Probable fix to data restore problems
# Probable fix to helper crashing during loading apps
# Record raw list of files in a backup
# Many other minor improvements

Use v3.1.1 above

Version 3.0.3 [18thApril 2020]

#. Slightly tweaked logo.
#. Probable fix to No metadata found after flashing.

Version 3.0.1 [9thApril 2020]

#. Bug fixes
#. Added translations

Version 3.0 [20th March 2020]

#. The app is rewritten in Kotlin
#. Many new preferences have been added.
#. Helper app is now available on Google Play.
#. Many fixes in recovery. Support for SAR and Android 10.
#. Added options for backup of app installer, font scale, adb state
#. Set max zip size in preferences.
#. Verification of zips after backup is complete.
#. Many more changes and improvements…

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!

Version 2.0.1 [30th Dec] (christmas_beta)

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

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 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 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.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.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.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 (beta)
# Initial release
The Following 43 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: 1,465
 
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 24 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: 279
 
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: 1,465
 
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 9 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: 265
 
More
I got this issue
Attached Thumbnails
Click image for larger version

Name:	Screenshot_Migrate_20181105-005351.png
Views:	11730
Size:	125.4 KB
ID:	4634827  
The Following User Says Thank You to ceelos218 For This Useful Post: [ View ] Gift ceelos218 Ad-Free
5th November 2018, 09:22 AM |#9  
Senior Member
Thanks Meter: 426
 
More
Wifi?
5th November 2018, 09:51 AM |#10  
OP Senior Member
Flag Kharagpur
Thanks Meter: 1,465
 
Donate to Me
More
Quote:
Originally Posted by ceelos218

I got this issue

Please tell how to reproduce the issue.
The Following User Says Thank You to SayantanRC For This Useful Post: [ View ] Gift SayantanRC Ad-Free
5th November 2018, 09:52 AM |#11  
OP Senior Member
Flag Kharagpur
Thanks Meter: 1,465
 
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