My phone is LU3700, which is one of three korean versions of O1, and I don't think it differs a lot from P500 in this situation.
The recovery is ClockworkMod recovery v3.0.2.4
I backed up three times, and deleted former two backups because I was lack of space in SDcard.
All the downloaded apps and updated system apps such as market or helper won't be executed.
When I try to execute a problematic app, it says "Application is not installed on your phone"
In the settings->applications->manage applications, the list of apps is still there, and for each app Data/Cache are also there but Application isn't(0.00B)
I guess it could be just a simple problem like permission or configuration?
Even if all the applications are really gone, I can re-install them so it's not so big deal. I just want to save the time to install them.
Is there anything I could do in this situation?
P.S. Maybe there was too small space in the SD card when the third backup was made...I think I saw a message saying the backup was completed but I'm not so sure.
Oh, it IS a big deal since I can't use even market or helper(i frequently use it)...if not it's not possible to restore, could anyone teach me how to backup those data?
this happened to me too. i think that the part of the app that is located on the sd card got deleted (if i remember correctly, these "parts" should be located on /sdcard/.android_secure, which, for some reason, does not show its contents on the phone but only on the computer, at least for me). you can always backup your apps using titanium backup and i recommend keeping only one backup at a time so you dont get confused between each one and also for the sake of space. or, instead of using titanium backup for your apps, you can make a nand+android secure backup in recovery, which also does a backup of your app data (i think)
you can confirm all of this by plugging in your phone to the computer (usb mass storage) and check the /sdcard/.android_secure folder
edit: and as for trying to restore, if theres nothing in your android_secure folder, then you have to start from scratch (unless one of your nand backups was a nand+android_secure backup)
I'm afraid that's not the case. it is not only App2SD apps that aren't working right now. they used to work without SD before.
Flash the rom again. Start everything again.
I used the Helium backup app to backup all my apps before flashing my S3 with the stock ROM. I copied my entire internal memory as it is, and pasted it after flashing. This of course included the crucial 'Carbon' folder with all my backups made my Helium.
BUT now I installed helium and it refuses to detect those backups. In 'Restore and Sync' it simply says "No backups were found on your internal storage".
I know this is probably best asked to the Helium developer but I reckon it's a very famous app so someone might be able to suggest a solution here. I've already tried rebooting.
Thanks!
cyanide911 said:
I used the Helium backup app to backup all my apps before flashing my S3 with the stock ROM. I copied my entire internal memory as it is, and pasted it after flashing. This of course included the crucial 'Carbon' folder with all my backups made my Helium.
BUT now I installed helium and it refuses to detect those backups. In 'Restore and Sync' it simply says "No backups were found on your internal storage".
I know this is probably best asked to the Helium developer but I reckon it's a very famous app so someone might be able to suggest a solution here. I've already tried rebooting.
Thanks!
Click to expand...
Click to collapse
Had the same problem, wanted to root my phone, but unlocking the bootloader wipes everything, so used Helium to backup all my apps. Backed up to both internal storage and dropbox, copied "carbon" folder from internal storage to computer, unlocked bootloader, copied back, and helium wouldn't see backups from "carbon" folder. Will, however, find backups from dropbox, but without premium version, cannot restore them.
I did find a workaround, but it is not the most pleasant way of doing things. If you open the menu options and tap PC Download, it will display a local ip address and port (i.e. http://192.168.1.xxx:5000 or 10.1.10.xxx:5000). This is your phones ip address on your network and may appear different depending on your router and/or network setup, and the 5000 is the port to access helium web server on phone. Navigate to that ip address through your web browser, including http:// and it will open a web interface for backing up and restoring. See attached screenshot. Click on the browse button under Restore and navigate to the carbon folder that you backed up. In each folder will be 3 files, xxx.png, xxx.ab, and .nomedia (xxx is the name of the file i.e. com.adobe.reader). Choose the file with .ab and click open. The web interface will ask if you want to restore, click yes. Repeat for all items to be restored. If the web interface says file invalid, make sure the server is still running on your phone. Should show a cloud in the notification bar and say Helium server is running. If the server stops, just restart it from menu->pc download in the helium app.
This is not the most elegant or efficient way of doing this, but if all your data is in those backups and you really want them, this is the only solution I have found so far. I hope this helps.
Edit: Was able to restore first two apps before posting, but after continuing, remaining apps would not restore. May still work, but even though I get restore complete, the apps don't show up. Will require further investigation.
kind of solution
i have the same problem i tried to unlock nexus 10 and made a backup and (manualy) copied the carbon folder to my PC and restored after unlocking
and as you know it wont detect the backups..
i think it has to do with a .json file that is either not created when the backup is done or not carried over the copy.
(i know about this .json file, as i had a previous backup from whatsapp which had this txt file which has info about the backup)
so when i tried to restore all my apps i only got that whatsapp detected (as an old version)
i mailed Koush( the developer) and he said that manual moving is not supported and the way to go is using the IP server to extract the backups to PC.. (ie doing the backups with the Web tool and not in the app itself)
one thing i can think of (cheating the app. installing the app, doing a backup of the app and replacing the .ab file for the one in the lost backup.. ) i will try that and post back
---------- Post added at 03:28 PM ---------- Previous post was at 03:13 PM ----------
ok i had an old PLUME (twitter client) backup with data,
what i did and seemed to work (for this test )
is to delete data on installed PLUME
backup plume without data. (a plume folder gets created on the carbon folder)
replaced the .ab from this backup with the old backup's .ab
now helium restored the old file with the previous backup data restored as well
i hope this works for other apps. i will try with my nimble quest game which i have a backup and is the only thing no recoverable i had in helium everything else is account based on the cloud
so the way to go here could (until koush changes this)
install the affected apps
backup them
navigate to the carbon folder and replace the .ab's with the old counterparts (which have data)
enjoy
I also had same problem, and i try use the solution below, but it can NOT work for me.
My device is ASUS Padfone 2, without root.
After try many method, I success finally!!
Here is my step, hope can help other people like me:
1. check the backup folder name. i.e jp.co.johospace.jorte, copy it to your PC.
2. use google search this key word "jp.co.johospace.jorte", you can find out what is this app, download and install it from play store.
3. After install finished, open your Helium and backup this app, i.e. "jorte"
4. After backup finished, check Helium restore, you can see "jorte" was backuped.
5. close Heilum from setting/apps, then open file explorer, find a folder named "jp.co.johospace.jorte" in the ../sdcard/carbon/
6. open the folder, you can see 3 files: 1.._jp.co.johospace.jorte.png 2..nomedia 3..jp.co.johospace.jorte.ab
copy jp.co.johospace.jorte.ab from your PC to android /sdcard/carbon/jp.co.johospace.jorte and replace it
7. open Helium again, and restore jorte, you can see data was restored!
it's probably possible to generate a set of manifests for it. the json ones don't seem to have any special data (as in no binary or signature type things)
e.g. for Lux the app
{"enabled":true,"system":false,"flags":545832516,"packageName":"com.vito.lux","versionCode":158,"label":"Lux","versionName":"1.58","locked":false,"date":1375397585745,"apk":true,"backup":true}
cut down to
{"enabled":true,"packageName":"com.vito.lux","label":"Lux","locked":false,"date":1375398819080,"apk":true,"backup":true}
still restores ok
I'm not sure how much metadata is necessary for it to work but that still restores (and the date is moot anyway).
It's possible if you mess up the enabled or system attributes or if the flags attributes are useful hints to the restore command to set package properties - it may make you have to wipe your device (or replace a newer version of the app or install data for an older version, etc). but for your everyday apps for a recent backup - you could probably make a quick powershell or whatever script to iterate over a set of subfolders and generate some dummy manifests.
Code:
$subfolders = Get-Item -Path 'E:\carbon\*'
foreach ($f in $subfolders){
if($f.Attributes.ToString() -eq "Directory")
{
$filecont="{`"enabled`":true,`"packageName`":`""+$f.name+"`",`"label`":`"" + $f.Name + "`",`"locked`":false,`"date`":1375398819080,`"apk`":true,`"backup`":true}"
$fname= $f.FullName + "\" + $f.Name + ".json"
[System.IO.File]::WriteAllText($fname, $filecont)
}
}
(I'd probably suggest using the manifests from backup restores for google system apps and contacts/sms/launcher, etc instead of these though)
anyway, wish the dev added clear non skippable instructions to the app (first run), and the desktop dl page
Maybe they're there and im stupid.
gierso said:
kind of solution
so the way to go here could (until koush changes this)
install the affected apps
backup them
navigate to the carbon folder and replace the .ab's with the old counterparts (which have data)
enjoy
Click to expand...
Click to collapse
thanks for this workaround. this feels like a huge gap in the functionality of a backup app. if there is a forced need to use the cloud, the user should at least be made aware of it.
not sure how much I can legitimately complain about a free app, but definitely not interested in the premium version based on this.
It's simple !
I found out a way. What you do is, 1st backup all your apps using Carbon to your Internal or External storage. Copy all the files in the carbon folder where you have backed up your data. Once you finish wiping your data, install all the apps again and backup using carbon. Now,replace these backup files with the actual backups ! Since you have backed up after re-installing your ROM , carbon won't say it couldn't find any backups.
Cheers
- Sent from Galaxy S3
chinnu189 said:
I found out a way. What you do is, 1st backup all your apps using Carbon to your Internal or External storage. Copy all the files in the carbon folder where you have backed up your data. Once you finish wiping your data, install all the apps again and backup using carbon. Now,replace these backup files with the actual backups ! Since you have backed up after re-installing your ROM , carbon won't say it couldn't find any backups.
Cheers
- Sent from Galaxy S3
Click to expand...
Click to collapse
it's not simple. it's annoying and longwinded. and defeats about half the point of automated backup apps.
the Carbon/Helium app is horrible.
While this went ok I had to reset my device today for another reason.
So before doing that, I backed up using Carbon, and transferred the data via the the web interface as the dev suggested
but was unable to restore the packages as uploading the zip back fails.
(the server on the n4 just stops after the upload. Moreover - there's no logs of any kind for the user as to why it fails. and no upload progress.).
Dunno if the dev will reply what the problem with the android web server component is but for now since i needed the backup urgently
I ended up having to extract the zip and convert the backup into individual manifests/copy the zip contents into app packages folders
Here's the powershell code to do this if anyone else has a similar problem (use at your own risk, I only tested it once on my device)
Code:
$backuppath='E:\_MediaServerE\backup\' #extract your backup.zip contents here (those are the .ab, png files in the zip you downloaded + a backup.json maniest the app generated for all the packages)
$jsonFile=$backuppath+"backup.json"
$jsonText=[System.IO.File]::ReadAllText($jsonFile)
$files = Get-Item -Path ($backuppath + "*")
[System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$ser = New-Object System.Web.Script.Serialization.JavaScriptSerializer
$jsonPackageDefs = $ser.DeserializeObject($jsonText)
function getPackageDef([string]$pname, [Object]$packagesIn){
$ret = ""
foreach($p in $packagesIn.packages){
if($p.packageName -eq $pname){
$ret = $ser.Serialize($p)
break;
}
}
return $ret
}
#for each file copy it to a subfolder with the package name, and find the json manifest in the manifest collection
#and write it to the app folder
foreach ($f in $files){
if($f.Attributes.ToString() -eq "Directory"){
#skip
}
elseif($f.basename[0] -eq "." -or ($f.basename+$f.Extension) -eq "backup.json"){
#skip
}
else{
$bn=$f.BaseName
$bn
if([System.IO.Directory]::Exists(($backuppath+$f.BaseName))-eq $false){
[System.IO.Directory]::CreateDirectory(($backuppath+$f.BaseName));
}
if([System.IO.File]::Exists($backuppath+$f.BaseName+"\"+$f.BaseName+$f.Extension)){
[System.IO.File]::Delete($backuppath+$f.BaseName+"\"+$f.BaseName+$f.Extension)
}
if([System.IO.File]::Exists($backuppath+$f.BaseName+"\"+$f.BaseName +".json")){
[System.IO.File]::Delete($backuppath+$f.BaseName+"\"+$f.BaseName +".json")
}
$f.CopyTo(($backuppath+$f.BaseName+"\"+ $f.BaseName + $f.Extension))
$packageDetailsText=getPackageDef $f.BaseName $jsonPackageDefs;
$jsonFileNameOut=$backuppath+$f.BaseName + "\" + $f.BaseName + ".json"
[System.IO.File]::WriteAllText($jsonFileNameOut, $packageDetailsText)
}
}
I then copied the results to internal storage\carbon and was able to restore.
I hate the carbon app it's probably the worst experience I had backing up my device. It's cost me hours of worrying and coding to restore my data and i paid for that crap... There is hardly any documentation to follow and the dev doesn't even warn to not copy files on the app page (that's for the previous issue just above, this one is more about the 'proper' way breaking) Moreover it failed to backup the com.ea.games.nfs13_row game correctly due to its size so I lost the save data for it.
This is not an experience people should have with a backup app.
He should just provide a secondary way to transfer things using the files in the carbon folder (and/or a zip of the backup) instead of the web server bit that breaks, and takes forever. (and yes, I realize the web server generates the zip from the carbon folder and adds the manifest for the download, but if you can't upload it back for restoring properly - what's the point)
oh and keep in mind - you're storing unencrypted tar equivalents of your phone app data - so take care about where you keep the zip or the ab files. (the ab files are tars with a slight header change) (not that Carbon asks you to provide any means of protecting them, so more of an unrelated aside)
No idea, what I posted worked for me !
SMS not returning?
chinnu189 said:
No idea, what I posted worked for me !
Click to expand...
Click to collapse
Everything else seemed to work (thanks for this solution, definitely helpful to at least confirm data). Anyways - the one thing I can't seem to figure out is how to restore text messages (com.android.providers.telephony.ab) - I've tried to do it as a whole app using the PC interface, tried copying the folder as a replacement via Android File Transfer to the 'carbon' folder, etc.
When I try to restore via helium server, it quickly shows me everything as restored but I don't see the messages. When I try to do it manually (e.g. force copy), I don't see an option under "Restore and Sync" to actually select messaging.
Am I missing something stupid / obvious? The raw data seems to be there (for example, call logs were uploaded just fine, text messages seem to have an issue).
--Dan
So I came up with a solution based on what works for others. Why this works when it didn't previously is beyond me, but hopefully someone else can use it if individual parts of their Helium backup don't work properly (in theory it should work for any app / SQL dataset). The whole point of Helium is that we're running non-rooted phones and so Titanium Backup or the like aren't applicable. For reference, I'm running an N4 to OSX 10.7.x
1. Use the Helium Server to create a full backup.
2. Wipe phone or whatever you need to do (I had to do a factory reset for Google since it's an N4 and my proximity sensor is dead).
3. Install the apps you had previously via Play Store (pain in the a**).
4. Run Helium server and upload the backup data.
5. Update apps as needed (should be auto but who knows for individual stuff).
6. Check app data in apps. Texts are obviously easy to see for me. Hopefully everything restored nicely for you here.
***Now for the bit for people who got corrupted restores.
7. Unzip the backup file on your computer, select the .ab files that correspond to the missing / corrupted restores and then zip those into a new file on your computer (for step 9). Keep these files handy in unzipped form as well for step 10.
8. Perform a new Helium backup of those sections onto the internal SD card (yes it will be blank, worry not).
9. (Optional step): Run Helium server and upload that new zip file (with the stuff that didn't make it) alone. Try restore. Unlikely to work but worth a shot.
10. Running Android File Transfer, find the SD card, find the folder 'carbon' and then find the corresponding sub-folders that have the modules that were corrupted. Replace the SD card backups of the broken modules with the good ones from your computer.
11. Run Helium restore again, but only for the sections you want (I swear, for me Messaging didn't show up the first few times but after step 10 it did).
12. Wait, hoepfully it works well. I would reboot after running the restore to a) kill Helium and b) confirm functionality.
FWIW, my telephony.ab was 1.8MB and took SIX hours to restore. Seriously. Yeah yeah, that's a lot of texts but six hours? I've since added "SMS Backup & Restore" to my phone and will probably just use that, map out my phone layout and functionality and just manually replace apps from now on since most data is in the cloud. You lose some stuff, but prima facie it's boat tons easier.
Hopefully that helps someone else who had the same issues.
Best,
--Dan
app is just crap
i lose the most important data.some apps restored,but not the precious i wanted.
thanks helium
Garbage app, just installed it, backed up then when i tried to restore i get the same errors all because i copied the carbon folder to my pc. Stupid
digitallysick said:
Garbage app, just installed it, backed up then when i tried to restore i get the same errors all because i copied the carbon folder to my pc. Stupid
Click to expand...
Click to collapse
Yeah.. I wanted to give a try.. but its real garbage.
thanks chinnu189
your solution worked great for me and only took 2 minutes. messages were restored too. now i can finish Final Fantasy :victory:
It worked for me - JUST BUY THE GOD DAMNED APP
Yes its $5.00 but you know what, I bet you've spent that on a burger, fries and drink in the past month.
I spent an hour trying to do it the free way, made a backup to internal, made a backup to pc using the server, yadda yadda yadda, then ended up on here looking for help because it wasn't working properly.
Finally went fck it here's my five bucks and I backed up to the cloud and restored from the cloud. It just works as advertised and perfectly at that.
Even in high school my time was worth $5 an hour. I just wasn't ready to acknowledge it then. Trust me, it's worth every cent. Buy Helium Premium.
</Advertisement>
No seriously I am a long time Titanium Pro user and Helium allowed me to move my nexus 4 data to my nexus 5 without having to go through the hassles of root. Well worth it for that alone.
Ok, hope this helps somebody. Just did the whole copy the folder instead of use the webserver business. I tried the replace methods above to no avail.
What did work is backing up ONE app to internal and replacing the *.ab file with the backup data into the 'carbon' folder, overwriting the one that has basically a blank app.
If I tried to restore multiple apps at the same time, it didn't work.
This is on a nexus 5, by the way. Now on to the rest of my apps...
the webserver method is a) slow b) keeps dropping out. the app is nothing but a headache.
as for the cloud backup one - depends on the service and whether you can specify the file to be encrypted prior to the transfer.
when doing backups using PC download mode (thru the URL port 5000), the device must be in standby, ie. Screen ON and UNLOCKED. its the only way the backups gets created good and can be restored.
Extracting Helium ab files
I backup up using Helium, and was unable to restore, so I had a small adventure recovering my files (eventually successful). These are some brief notes.
I had used the PC option to get the backup.zip file on my PC (I was going to reflash my Nexus 7 "grouper", 8GB). However, Helium refused to re-install the 2.5GB file back to the tablet. (Wait for upload via WiFi, then "failed".)
I could extract the particular 1.8GB ab file I wanted from the backup-zip that Helium made. However, "adb restore ..." would not work either.
After searching on "adb extractor" I found that the perl scripts (http://forum.xda-developers.com/showthread.php?t=1730309) were able to get me an extracted file in nominal "tar" format. I say nominal, because none of the tar programs I have would touch it---bad blocks etc. (I tried the Java adb extractor first, but did not pursue it further because of the tar issues.)
It turns out that the Helium "ab-tar" file was ordered like this:
2 bytes of something.
5 bytes of something.
Tar header block.
Tar data/header blocks...
5 bytes of something (starting at location 0x10007).
Tar data/header blocks...
5 bytes of something (at location 0x1800C).
Etc.
I.e., every 0x8000-byte chunk was prefixed by 5 bytes of stuff. Except for the second chunk. And the whole file was prefixed by 2 bytes of stuff.
Not only that, but the tar header checksums had been divided by 8 (i.e., last octal digit replaced with '\0').
After converting to a regular tar file, I was able to restore the files to their place. I now have a tar-reconstructing program that I will send to anyone who requests it.
Sigh. Backup should not be this hard.
Since last November, Whatsapp on my (rooted) Samsung Galaxy S3 Neo has been giving me problems: backups no longer work, it is impossible to download and upload multimedia. Also, I am experiencing random problems with other apps with file writing. So I would like to reformat the phone as much as possible and install a custom ROM (CyanogenMod being the first candidate).
But first I have to make sure that I can recover my Whatsapp chats, some of which are quite important for me, which is not trivial with backup not working. A bit of googling pointed me to a few people having similar problems; some of them managed to solve their problems fiddling with permissions and ownership on the backup directory, /storage/emulated/0/Whatsapp/Databases; I tried to do the same, but without success - let me just say that this attempt would be the subject for another thread. So I decided to try and simply backup the data directory, /data/data/com.whatsapp, having read that it was possible.
So I backed up the data directory to SD card using good old tar, then I renamed the original and restored the backup; having used tar, both permissions and ownerships were correctly restored (except for the symlink lib -> /data/app-lib/com.whatsapp-3 which was now owned by root rather than by user "install", but having permissions 777 I would be surprised if this was an issue). I also checked that the contents were exactly the same as those of the original directory using diff, and I deleted the app cache before trying to restart Whatsapp: in spite of this, it crashed before starting. I removed the restored directory, renamed the original one to its correct name, and whatsapp started correctly.
I am really confused: how is it possible that an exact copy of a working directory prevents an app from working? The only difference I am aware of in such a copy is in the inode numbers, but nobody would hardcode them in an application... I hope
Any idea, any suggestion is welcome. Did anybody every manage to backup ad restore whatsapp chats from its data directory?
Well, since your phone is rooted, which makes recovery very easy. You just need to find a good app. From my experience, you could apply to Jihosoft Android Phone Recovery. Good luck.
Hello, I’m happily using Titanium Pro for a couple of years now but this week I’ve stumbled upon a big problem.
I’m using a LG G4 with LineageOS 14.1. Backed up all my user apps to do a system upgrade to a newer version of 14.1 (and eventually 15.1). I’m using Titanium with encryption with a passphrase and in the past this setup has worked fine for me. Backup is stored on a MicroSD card, tar.bz2 compressed.
I have wiped my Data and internal storage and flashed the new ROM (which works). Installed Titanium Pro, found the backup folder etc., alright. But then my apps were not reinstallable from my list, the restore button was missing. Further, they only have their developer names like "org.videolan.vlc". Okay, checked the backup folder, there are *apk.bz2 files for each app which extract nicely and I’m able to install them the manual way. Then, a restore button appeared (the regular app name too), "Data Only", yes, please… And then I got "Restoring Data" and the spinning circle followed by "?" (an actual interrogation mark). This never ends, I have to force quit Titanium and nothing gets restored, apps even fail to start. :/
This is a pretty bad condition, I was relying on this backup solution for a lot of configuration mess, not to mention my Google Authenticator entries and so on…
I have tested another ROM and even a Lineage 15.1 (Oreo) ROM but this situation was all the same :/
Tried with both LineageOS Su and SuperSu with the same results.
In panic, I’ve found a PHP script which can decrypt my backups and it accurately did so. I then have transferred my decrypted tar.bz2 files back to my phone (I have still a backup of all encrypted original files) and tried again, but with no more luck. So, with or without encryption, I can’t restore my backups. But they are all ok, I can check the archives and poke in their folders, it’s all in there…
Tried the alternative "app processing modes" indirect and interactive with no other results (seems to me they are only relevant for APK installs anyway).
I hope very much that someone here can help me. I’m attaching a logcat log in which I try to restore data for an installed app. In the screenshots you can see (1) the apps list without proper names, (2) an app info dialog without restore button and (3) a data restore attempt after manually installing the APK (or via Google Play, tried both).
I don’t think I will ever get a response by the developer, so this forum is my last hope! :fingers-crossed:
I have found the problem and a workaround: Apparently, Titanium couldn’t read from my SD card. But still sort of, don’t ask me. It listed the developer names of the apps like you can see in my screenshots but could not actually access the files although it had "Android 5+" document picker permission for the SD card. Mega strange and much frustration. I fixed this by copying my backup folder to the internal storage and changing the backup folder to the new location in Titanium, voilà, restore worked again.
Thanks a lot for all your self-sacrificing help!
I have one Rom installed on my phone and it's already not the original one. I want to install the latetest version of a different one (from Ressurraction to CrDroid). I know how to do it and I know that I will have to format everything.
I don't have google drive or any google services installed. I do have access to a computer where I could just push and pull things with adb.
All my apps are form F-Droid, except for a few that I've manually downloaded, such as WhatsApp.
So, I have a few questions:
1. How do I fully backup WhatsApp so that I can restore it again, after formatting everything? When I follow WhatsApp instructions it just doesn't work: I receive a message that the backup could not be restored. Is there a way to make sure it would work? Maybe even backing up everything with another program?
2. Is there a way to back up all other APPs and data and everything installed and restore it in the new Android release? I've tried to manually use adb push/pull but it doesn't work.
Thanks in advance
For instance, under GNU/Linux you can generate an archive of your /home/user directory and extract it in your new computer and ALL your data from all installed apps will be restored just fine. You might need to reinstall all apps again, but the data will be there!
How to do something like that on Android?
You give me the impression that you have Magisk
Simply use Migrate app to backup all applications , contacts , call logs and messages , this should be enough if you are only installing new ROM
But if you are wiping the whole internal storage ethen
Also manually copy The WhatsApp , DCIM,Document ,Download,Pictures and other important folder to your PC via MTP and restore them