I recently purchased a Galaxy Note 8 to replace my aging Note II, and am in the process of migrating data. Most items are relatively trivial to move over, but Signal Private Messenger tries to be secure enough that it ends up being impossible to migrate non-text content with standard methods – images, voice, and group chats are not transferred.
After some investigation and several ADB versioning issues, I have successfully tested a workaround for migrating Signal data between Android devices.
- ADB available on a PC – I had to use an old version for my Note II, and the newest official version for my Note 8
- USB debugging enabled on both Android devices
- The last backup-capable version of Signal
- Make all possible backups of your old device; if it’s rooted, you can backup the entire Signal datastore by copying
/data/data/org.thoughcrime.securesms– I can also recommend Online Nandroid Backup as a more comprehensive solution.
- Verify your backups!
- Put both devices into airplane mode.
- Attach to your computer to the old device and downgrade Signal (run
adb kill serverif you had previously started
adb) – you’ll need the apk you downloaded earlier to be in the current path:
adb install -r -d org.thoughtcrime.securesms-2.28.1-156-minAPI9.apk
- Now adb should be able to back up the data:
adb backup -noapk org.thoughtcrime.securesms
Verify that this actually creates a reasonably sized backup.ab file in the local directory – if it does not, you likely need a different ADB version: the newest one I had silently failed when working with my old Note II! Don’t proceed until you have what looks like a backup of all your Signal data – mine was ~200MB.
- Switch the USB connection to your new device and run
adb kill server.
- Install the old version on your new device:
adb install -r org.thoughtcrime.securesms-2.28.1-156-minAPI9.apk
Again, this may require a different ADB version; the most recent ‘Minimal ADB Tool’ simply hung here,
whereas the most recent official version worked well.
- Verify ‘TextSecure’ is installed, and then restore the backup:
adb restore backup.ab
- If you’ve not already, transfer the SIM card over to your new device.
- Disable airplane mode on your new device and update Signal via the Play store.
- Relink your Signal via
Signal Menu > Settings > Advanced > Toggle 'Signal messages and calls'.
Signal should now be functioning happily with all your old data! You will likely need to relink any linked devices you have (devices with the Chrome app).
If you encounter issues during the transfer, restore your old device’s backups (e.g. with Nandroid Manager). Signal does provide a way to transfer text-only messages across your devices as a last resort.