[APP][ROOT][5.0+][1st Nov 2020] Migrate - custom ROM migration tool

Is Migrate backup and restore working without any errors?


  • Total voters
    913
Search This thread

73sydney

Senior Member
@rodken @brackenhill_mob @Kippy51

Just a quick update

I figured out why my .gz files were missing...

I thought id disabled my AppDataIsolation magisk module before i ran Migrate, but turns out i hadnt

I went to run a backup today and foudn it was still on....i mustnt have toggled it off and rebooted last time.
But when i toggled it off, rebooted, and ran a Migrate backup today, all went well :)

So thats one mystery solved. Still doesnt explain the empty .json file issue :)
 
  • Like
Reactions: rodken

jacomail95

Senior Member
Nov 11, 2012
915
390
27
Fondi, LT
Migrate 4.0 worked in switching from Lineage 18.1 to 19.1 on my shamu (Motorola Nexus 6), at first it didn't find the backup, but after I flashed Magisk after the backup zip and installed manually the Magisk apk (because app wasn't visible on launcher), all worked well. So this app still works in Android 12
 

73sydney

Senior Member
Migrate 4.0 worked in switching from Lineage 18.1 to 19.1 on my shamu (Motorola Nexus 6), at first it didn't find the backup, but after I flashed Magisk after the backup zip and installed manually the Magisk apk (because app wasn't visible on launcher), all worked well. So this app still works in Android 12

You always have to flash magisk separately, reboot and run the magisk app, which *sometimes* installs the app from download (as often the app shown in launcher is just the stub (generic icon). If you manually install the magisk apk locally as you have found out it will give you the full app

and Migrate works in A13 too
 

zogoibi

Senior Member
Aug 18, 2011
416
65
SD card disappears after first use

I know this makes no sense whatsoever, but it is a stubborn fact.

The thing is, upon installation of Migrate-GPE v4.0 on my phone (Samsung A3, Resurrection Remix, Android 8.1, Selinux permissive, root, SD read-write without needing the exSDcard module), when first opening up the app it immediately saw my SD card (it was listed at the bottom of the screen alongside Internal Storage) and offered to place the backup zip there. And so I did; no errors at all. I successfully migrated my apps to a second device.

Later on (and after a deliberate phone reboot), when again opening up Migrate... ooooops!!, the SD card was no longer listed and I couldn't place the backup zips there any more. No matter how may attemps I did afterwards (including uninstall-reinstall Migrate, wipe cache in recovery, etc), never again I was able to use the SD card for backups. ??? I am pretty sure I used the SD card on the first go. I wasn't smoking anything, but sober and lucid. :)

For the rest, the no-TWRP flashing process in my second device (Samsung S10, LineageOS 19, Selinux permissive, root, SD read-only) went fine, except that some applications (like for instance Bolt or Duckduckgo), despite being updated versions, would crash on opening.

Anyhow, it is a great app and I find it extremely useful for migrating phones or ROMs.
 
Last edited:

ItielO

Member
Jul 24, 2020
10
4
On A12L and A13, Migrate helper keeps crashing after selecting apps to restore.

When opening the app from recents, it hangs on 'making scripts'.

Is there any solution for this?

Is there a way to manually extract the backup and from the zips themselves?
 

73sydney

Senior Member
On A12L and A13, Migrate helper keeps crashing after selecting apps to restore.

When opening the app from recents, it hangs on 'making scripts'.

Is there any solution for this?

Is there a way to manually extract the backup and from the zips themselves?


found by looking in the 2nd post....FAQ

could also have been found by typing manual into Search This Thread

please consider actually using search next time....we're not here to spoonfeed you, youre required to do simple things like look in the first page of a thread or use Search
 
  • Like
Reactions: pocketrule

ItielO

Member
Jul 24, 2020
10
4

found by looking in the 2nd post....FAQ

could also have been found by typing manual into Search This Thread

please consider actually using search next time....we're not here to spoonfeed you, youre required to do simple things like look in the first page of a thread or use Search
I've scanned around 15 pages and ran multiple search queries before posting my message.

This dosent' help. As i mentioned in my message the issue was not with the flasher, but with the helper.

For anyone having similar issues - use migrate 4 and not 5. Solved
 

73sydney

Senior Member
I've scanned around 15 pages and ran multiple search queries before posting my message.

This dosent' help. As i mentioned in my message the issue was not with the flasher, but with the helper.

For anyone having similar issues - use migrate 4 and not 5. Solved

Last line of your post

"Is there a way to manually extract the backup and from the zips themselves?"

Answered....

Other top tips:

Once you start a Migrate backup or restore, leave it to do its job and dont change to other processes, it literally tells you that :)

As 5 was released today on GP i think (but last night on TG) and has had 6-8 months where its had bugs, and is still known (though sadly mostly noted only on Telegram) to have show stopping (as in i havent had a single successful backup job run in 6 months of testing it) bugs, yes only use Migrate 4 for now

Since the dev is largely absent from here these days, ill make that last part clear for all those who follow:

Dont Use Migrate v5 (For Now)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Migrate 4.0 worked in switching from Lineage 18.1 to 19.1 on my shamu (Motorola Nexus 6), at first it didn't find the backup, but after I flashed Magisk after the backup zip and installed manually the Magisk apk (because app wasn't visible on launcher), all worked well. So this app still works in Android 12

    You always have to flash magisk separately, reboot and run the magisk app, which *sometimes* installs the app from download (as often the app shown in launcher is just the stub (generic icon). If you manually install the magisk apk locally as you have found out it will give you the full app

    and Migrate works in A13 too
    2
    I've scanned around 15 pages and ran multiple search queries before posting my message.

    This dosent' help. As i mentioned in my message the issue was not with the flasher, but with the helper.

    For anyone having similar issues - use migrate 4 and not 5. Solved

    Last line of your post

    "Is there a way to manually extract the backup and from the zips themselves?"

    Answered....

    Other top tips:

    Once you start a Migrate backup or restore, leave it to do its job and dont change to other processes, it literally tells you that :)

    As 5 was released today on GP i think (but last night on TG) and has had 6-8 months where its had bugs, and is still known (though sadly mostly noted only on Telegram) to have show stopping (as in i havent had a single successful backup job run in 6 months of testing it) bugs, yes only use Migrate 4 for now

    Since the dev is largely absent from here these days, ill make that last part clear for all those who follow:

    Dont Use Migrate v5 (For Now)
    2
    Dont Use Migrate v5 (For Now)
    Agreed.
    -- At this point in time, the only way to use v5 is to perform a manual extraction of the zip
    -- Utilize the Emergency Restore feature via Migrate Helper after creating the migrate_cache folder.
    -- YMMV
    1
    On A12L and A13, Migrate helper keeps crashing after selecting apps to restore.

    When opening the app from recents, it hangs on 'making scripts'.

    Is there any solution for this?

    Is there a way to manually extract the backup and from the zips themselves?


    found by looking in the 2nd post....FAQ

    could also have been found by typing manual into Search This Thread

    please consider actually using search next time....we're not here to spoonfeed you, youre required to do simple things like look in the first page of a thread or use Search
  • 604
    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 (v4.0) is on Google Play
    It was temporarily suspended. Read more here: https://forum.xda-developers.com/showpost.php?p=82230451&postcount=1273

    Download from Google Play Store
    Download from AndroidFileHost
    Download from XDA labs (removed as XDA Labs has shutdown)

    CODEBASE ON GITHUB


    migrate_1.png


    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.

    migrate_3.png

    migrate_4.png


    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.

    ALTERNATELY
    You can use the Migrate Flasher app (if your phone does not have a compatible recovery, or your recovery is broken).

    If you are flashing via TWRP, see the below screenshot.

    migrate_recovery.png


    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.

    migrate_helper.png


    IF YOU ARE USING MIGRATE FLASHER
    The process is similar. Only difference is Migrate Helper is not injected into system, but installed as a user app. There is no use of recovery environment.
    Once Migrate Helper is installed, just press RESTORE APPS AND DATA and proceed as usual.

    Please see the HOW TO FLASH section on Migrate Flasher for complete illustration.

    IF you have already flashed using TWRP (with no errors) then the above sections about Migrate Flasher is not applicable.

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

    Migrate Gemini (v4.0) release

    Hello everyone.
    Migrate 4.0 is now released.

    There are 2 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=10763459528675575696

    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/details?id=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 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.
    144
    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/showpost.php?p=82198185&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.

    In recent times however, Migrate Flasher app can be used to flash a zip even if you dont have a compatible TWRP recovery. Everything is almost the same other than just the flashing part, which is done from the Flasher app.

    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 :p or I find a different implementation :) Thanks for your patience.


    From version 5.0+ (Not yet released, available on GitHub)
    Users will be able to natively store backups on SD Cards, especially on Android 11+.
    For lower Android versions, Storage Access Framework is used (along with root access) to store backups on SD Cards as well as on USB-OTG.
    57
    Just posting this for everyone to know.

    An alpha build of Migrate 3.0 should be ready by the end of this month. The version should support Android 10, and will come with new features.

    In the main app, backup and all new features are fully operational. But the helper app is not ready yet. I am working on it. That should be ready by this month.

    Please hold on a little. Thank you for your support. ?
    54
    Changelog

    Version 4.0 [1st November 2020]

    # Compatibility fixes for Android 11
    # Add Message center to display important announcements.
    # Migrate helper now allows to retry failed apk installs
    # Add a "Migrate flasher only" backup option
    # Save app icons as png files
    # Show number of apps selected for backup in Extra backups screen
    # Keep screen on when calculating backup size
    # Save last state of selection in extras
    # Don't remount /data partition in system test
    # Many under the hood changes

    Version 3.1.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
    32
    Hi @SayantanRC ,
    actually I'm a TWRP developer and i'm working on a lot of devices and recently a bit of users starting to tell me that they can't flash their migrate backups, so I found myself investigating a little and at the end i found the problem: in the migrate zips that migrate app creates, there are some commands that use busybox that actually is deprecated and not more used in TWRP. Can you please use generic commands or make a choice to use toybox instead of busybox?
    For example this command:

    run_program("/sbin/busybox", "umount", "/data");

    Can be replaced from this one:

    unmount("/data");

    Or another option is to include a fully busybox set of binaries in the migrate zips so they will be independent. If you need some help or explanations contact me.

    P.s. i already sent also a mail to your play store supprot email.