Jump to content

Software that can backup/restore all settings of any apps !


Guest Keramidas

Recommended Posts

Guest smw6181
Hi,

Yes, I know (and I agree) that I need to improve the GUI and add "easy access" buttons for these things.

For the moment you can backup (these are green-colored system items):

- SMS+MMS at once,

- Contacts + call log at once,

- Custom dict (either HTC or Android)

- Calendars

For the alarms: to be sincere, I haven't looked at them - but they are possibly stored in [sETTINGS]. Would need to verify this.

I agree...being able to one-click backup those would be great. I'd also like to add to that list:

Home screen settings

e-mail accounts (google login, for example)

It might just be easier to create a 'rom update' backup (Sprite for WinMo has that). It lets you backups all your apps and system settings, then applies those to your upgraded ROM (attempts to anyhow, nothing's perfect).

I know I have a heck of a time restoring after a ROM upgrade. If I just select batch, restore missing apps+system data, I end up with corrupted installs a lot of times (going from 1.5 to 2.1 I tend to get Sense fc's, for example). It would be really nice to just be able to backup and restore 'user installed apps and data' and 'system data' (sms, mms, settings, etc). Possibly have Titanium take a 'snapshot' of your /system/app and /system/app-private directories the first time it loads and then scan those directories for additional files each time you go to back up after that.

Possibly not exactly that way, but you understand what I mean and I'm willing to bet you know a whole lot more about it than I do :P

Link to comment
Share on other sites

Since starting to play with ROMs that use A2SD I've noticed a problem which I also see reported by others every so often. I don't know the cause but it just occurred to me that Keramidas, with his (sorry if I assume wrong gender) Titanium Backup experience might very well know what's going on. I'm posting here as a solution to this issue could perhaps become a new feature in TB.

Obviously removing/swapping your sd card is a bad idea while your main ROM is running, when A2SD is in use, as you could be ripping storage currently in use out from under the OS. However, I initially assumed, as it seems many have, that if the card is dismounted (& certainly if the phone is powered down & the battery pulled), it would be safe to remove the card. This seems to be true. However I also assumed that if I reboot the phone in this state (either with no sd card present or an alternative), that the phone would function, albeit with those apps installed to the former ext2 partition missing, and that further, if the phone is once more powered down, the original card replaced & the phone rebooted, I'd be back where I started with all apps present & working.

This last assumption is incorrect. Most apps on the ext2 partition will force close & the only solution is to uninstall/reinstall each one. Just to eliminate one variable, I checked that wiping the dalvik cache from recovery, right after the card is removed & before the phone is rebooted into the main ROM, makes no difference.

The only explanation I can see is that when the ROM is run with the ext2 partition missing, for most Apps, Android notices & changes something stored on internal flash (other than the Dalvik cache), which will break the app when it is subsequently made reavailable & run. Do you Keramidas, or anyone come to that, have any idea what's going on?

I'd very much like to see a solution. I think one must be possible, since worst case one could create a utility to manually back up each app stored on the sd card, uninstall it & dismount the card. A corresponding option after remounting would reinstall all those apps. Hopefully though there's a less complex cleaner & faster solution (perhaps Android has some internal databases of installed apps which could be rapidly tinkered with). Hopefully also you see why it occurred to me to post about this in this thread :P I hope no one minds.

There are use cases for a mechanism implementing a solution: principally, if one has more data than will fit on a single sd card & doesn't need 24/7 access to the apps stored on the main one, this would be very useful. Say if you're going on a long journey & wish to play some movies stored on a separate card. It would also make the use of A2SD much cleaner - it bothers me that the current solution of relocating apps to sd isn't atomic, by which I mean removal of the card containing the app leaves enough information behind as to upset Android.

Should anyone implement a solution, I'd suggest the main work is done by a couple (or one) command line utility which effectively dismounts the sdcard after making the dismount Android friendly, with a corresponding remount command that restores the status quo. These could be accessed from within the main TB gui, say, but would also be available to anyone working via shell access. Ideas/comments anyone?

Edited by zorm
Link to comment
Share on other sites

Guest Keramidas

Hi zorm,

I see what you mean...

If you freeze one (or several) of those apps in Titanium Backup prior to un-mounting your SD card, does it behave better once you later mount the SD card again ? Do these apps work after defrosting in Titanium Backup ?

Simply put:

Freeze app(s) -> Un-mount and remove SD -> Reboot and play a bit with your phone -> Put SD again and Mount -> Defrost app(s)

Thanks

Link to comment
Share on other sites

If you freeze one (or several) of those apps in Titanium Backup prior to un-mounting your SD card, does it behave better once you later mount the SD card again ? Do these apps work after defrosting in Titanium Backup ?

I did wonder but couldn't face going through that all again, however as you ask...

<roughly 11 reboots later>

...Alas no, they still force close.

I didn't freeze every app on the sd card, though I doubt that would affect the results for those candidates that were frozen. Instead I froze: Shazam; eBuddy; Compass; Google Sky Map & Spirit level - as these force close as soon as they are run, in this scenario. However, as said, it didn't help. They defrosted without error, but once I tried to run each they immediately FC'd as before.

I also repeated the test without freezing, as I have changed my ROM since last doing this & in case freezing appeared to help I wanted to be sure it was down to that & not the ROM change. Turned out to be irrelevant though.

Do you have any other ideas? Is this a problem you might be able to explore or have we hit a dead end already?

BTW Minor feature request: filter by frozen/defrosted

Link to comment
Share on other sites

Guest kjtaylor13

Hi,

This is a fantastic App, I've been using it for months now, and have donated to get the full version. I wouldn't be without it.

I have a couple of questions. (I have had a quick scan through the post and cant find the answers)

1.) When I restore [Desktop] HTC Sense 1.00, after restoring all my other applications. HTC Widgets appear ok, but other widgets have to be removed and reconfigured. Am I doing something wrong? Or is this a limitation of Android?

2.) When I restore applications and Data, for example Seesmic, and Handcent, they restore all the settings, but I have to setup the Notifications as they are not restored, are these stored in some other settings area?

Again thanks for a great app. It makes flashing new roms and getting up and running very fast, if I could just solve the problems above, it would almost be a one click restore.

Cheers

Kevin

Link to comment
Share on other sites

Guest apelly
The only explanation I can see is that when the ROM is run with the ext2 partition missing, for most Apps, Android notices & changes something stored on internal flash (other than the Dalvik cache), which will break the app when it is subsequently made reavailable & run. Do you Keramidas, or anyone come to that, have any idea what's going on?

No real idea, but from the research I have done it seems that, unlike linux, each app gets its own fixed userid when it is installed. This id stays with the app for its life. Installation also registers the app to use some services; the user is asked for permission to access these at install time. When you remove the ext partition Android learns that these applications are no longer available, but they are not uninstalled. When they reappear, that is to say that the ext partition reappears, they are made available again, but they get a different userid.

The issue now is that the new installation has no permissions because all previously allowed permissions are for the old userid.

Its late, but I hope thats a clue for you.

Link to comment
Share on other sites

Guest apelly

Keramidas,

This might fall outside of what you consider the scope of your backup application, but I will share this tip and if you see fit to automate it then all well and good. Otherwise somebody else might save some google time by finding it here...

I restored from a 2.1 htc hero port onto a cyanogen 5.0.6 nexus rom. That broke wifi on the n1.

The wpa_supplicant.conf files are incompatible. The fix is very easy (now that I have found it). The wireless device on a htc hero is tiwlan0 but on the cyanogen n1 it is eth0

Ownership of both files should be system.wifi(1000.1010) and the permissions should be 660.

so the wpa_supplicant.conf from the hero:

ctrl_interface=tiwlan0

update_config=1


network={

	ssid="SSID1"

	psk="PsKoNe"

	priority=3

}


network={

	ssid="SSID2"

	psk="PsKtWo"

	priority=10

}
becomes this on the cyanogen n1
ctrl_interface=eth0

update_config=1


network={

	ssid="SSID1"

	psk="PsKoNe"

	priority=3

}


network={

	ssid="SSID2"

	psk="PsKtWo"

	priority=10

}

Link to comment
Share on other sites

No real idea, but from the research I have done it seems that, unlike linux, each app gets its own fixed userid when it is installed. This id stays with the app for its life. Installation also registers the app to use some services; the user is asked for permission to access these at install time. When you remove the ext partition Android learns that these applications are no longer available, but they are not uninstalled. When they reappear, that is to say that the ext partition reappears, they are made available again, but they get a different userid.

The issue now is that the new installation has no permissions because all previously allowed permissions are for the old userid.

Thanks, that's very valuable information. I know little about Android myself atm, but if this doesn't help someone else to solve the issue first, hopefully Keramidas, I shall come back to it at some point in the future.

Considering the level at which Android is going to have to be interfered with to work around this, I doubt it can be done with public apis which really means this issue should be brought to the attention of the Android devs to see if they would wish to devise a clean implementation of an a2sd equivalent. Unfortunately looking at the speed with which certain basic requirements are addressed, such as gmail's inability to edit quoted text, I don't get the impression they're very responsive to external suggestions.

I guess a workaround is still worthwhile, even if it might require modification whenever Android changes version. Thanks again for the input.

Edited by zorm
Link to comment
Share on other sites

Guest Keramidas
I did wonder but couldn't face going through that all again, however as you ask...

<roughly 11 reboots later>

...Alas no, they still force close.

I didn't freeze every app on the sd card, though I doubt that would affect the results for those candidates that were frozen. Instead I froze: Shazam; eBuddy; Compass; Google Sky Map & Spirit level - as these force close as soon as they are run, in this scenario. However, as said, it didn't help. They defrosted without error, but once I tried to run each they immediately FC'd as before.

I also repeated the test without freezing, as I have changed my ROM since last doing this & in case freezing appeared to help I wanted to be sure it was down to that & not the ROM change. Turned out to be irrelevant though.

Do you have any other ideas? Is this a problem you might be able to explore or have we hit a dead end already?

BTW Minor feature request: filter by frozen/defrosted

Thanks for having taken the time to go through this !

I have just had another idea. Just look at the "package name" for one of the apps that force close, and then try (let's say the package name is com.abc.def):

chmod -R 777 /data/data/com.abc.def

Then start that app again and see if it works :-)

Thanks !

EDIT: Wow ! I just through the rest of the thread, and noticed that apelly had already thought about the UID problem before I did. If the "chmod" works, it means it's an UID problem.

Edited by Keramidas
Link to comment
Share on other sites

Guest Keramidas
Keramidas,

(...)

The wpa_supplicant.conf files are incompatible. The fix is very easy (now that I have found it). The wireless device on a htc hero is tiwlan0 but on the cyanogen n1 it is eth0

(...)

Thanks a lot. I have noted this, and will consider adding a special "apply fixes" section to my app, for this kind of things...

Or maybe I could make that a "scripts" section, a bit like an integrated GScript, which would download and execute scripts from contributors on the net...

Link to comment
Share on other sites

Guest Keramidas
Hi,

This is a fantastic App, I've been using it for months now, and have donated to get the full version. I wouldn't be without it.

I have a couple of questions. (I have had a quick scan through the post and cant find the answers)

1.) When I restore [Desktop] HTC Sense 1.00, after restoring all my other applications. HTC Widgets appear ok, but other widgets have to be removed and reconfigured. Am I doing something wrong? Or is this a limitation of Android?

2.) When I restore applications and Data, for example Seesmic, and Handcent, they restore all the settings, but I have to setup the Notifications as they are not restored, are these stored in some other settings area?

Again thanks for a great app. It makes flashing new roms and getting up and running very fast, if I could just solve the problems above, it would almost be a one click restore.

Cheers

Kevin

Hi !

1) I think it might be because the UIDs are changing between ROMs. Yes I know my app is not perfect at all, for restoring the system desktop. I will probably have to improve on this.

2) This is a good question. Do you mean the notifications that you set up in these apps ? I would need to look at this...

Thanks

Link to comment
Share on other sites

Guest kjtaylor13
Hi !

1) I think it might be because the UIDs are changing between ROMs. Yes I know my app is not perfect at all, for restoring the system desktop. I will probably have to improve on this.

2) This is a good question. Do you mean the notifications that you set up in these apps ? I would need to look at this...

Thanks

Hi,

Thanks for the reply

1.) I thought it might be something like that. It's not a major issue for me. If at somepoint it can be fixed to work, all the better, but in the end it only takes 5mins to reset all my widgets. :P

2.) Yeah, for example in seesmic I will set a certain notification tone(always use tones installed by HTC), and then when I restore it after flashing a new rom, for some reason the tone changes. The same happens with handcent sms, and facebook.

Thanks.

Kevin

Link to comment
Share on other sites

Guest bolmedias

Keramidas (or Joël as I believe you are called), you've done a fantastic job with this app. I've been using it with a donator's key for a while and I think I need to say thank you for developing one of the best applications on the Android platform.

Link to comment
Share on other sites

Guest Keramidas
2.) Yeah, for example in seesmic I will set a certain notification tone(always use tones installed by HTC), and then when I restore it after flashing a new rom, for some reason the tone changes. The same happens with handcent sms, and facebook.

Thanks.

Kevin

But are you sure that the new ROM does include the HTC tones from your previous ROM, and that they are in the same place ? If not, then that would probably be the problem.

Link to comment
Share on other sites

Guest Keramidas
Keramidas (or Joël as I believe you are called), you've done a fantastic job with this app. I've been using it with a donator's key for a while and I think I need to say thank you for developing one of the best applications on the Android platform.

Hi !

Yes my name's Joël. Thanks a lot for your (and all my donators') support, which encourages me a lot ;)

Really I think this is awesome to find that so many people appreciate my work - I think we will reach 50k downloads in about a week, which is really crazy ! It's a big city of users already.

I wish a great weekend to everyone here !

Link to comment
Share on other sites

Guest mrnismisk
Hi,

Yes, I know (and I agree) that I need to improve the GUI and add "easy access" buttons for these things.

For the moment you can backup (these are green-colored system items):

- SMS+MMS at once,

- Contacts + call log at once,

- Custom dict (either HTC or Android)

- Calendars

For the alarms: to be sincere, I haven't looked at them - but they are possibly stored in [sETTINGS]. Would need to verify this.

I use 2.1 and i backup my alarms by taking a backup of the deskclock app, have always worked. I used it in 1.6 also and it worked fine. Never used it moving between 1.6-2.1 i'll just assume it would not work. Anyway the desktop app is colored red.

Edit: This was my fault. Se post below.

(I have a request also. The latest update from android market forecloses on me when i try to open the application (Try'd uninstalling and then installing but won't work. Didn't make any changes when before updating) so i would like to see older versions on the website like at least one. I have no doubt the next update will work fine and you update often. But its nice to not be stuck just in case.)

Edited by mrnismisk
Link to comment
Share on other sites

Guest Keramidas
I use 2.1 and i backup my alarms by taking a backup of the deskclock app, have always worked. I used it in 1.6 also and it worked fine. Never used it moving between 1.6-2.1 i'll just assume it would not work. Anyway the desktop app is colored red.

I have a request also. The latest update from android market forecloses on me when i try to open the application (Try'd uninstalling and then installing but won't work. Didn't make any changes when before updating) so i would like to see older versions on the website like at least one. I have no doubt the next update will work fine and you update often. But its nice to not be stuck just in case.

Good find, thanks ! I have verified on my HTC Hero and indeed, the HTC clock contains the alarms. This will be a green item, labeled [ALARMS] in the next version !

You're right - in fact you *can* usually find a slightly older, more mature version there: http://www.matrixrewriter.com/android/file...aniumBackup.apk

It's really not supposed to FC on startup, though. I didn't receive any report of that, so could you - pretty please - launch aLogcat or "adb logcat" to capture the trace ? I would really appreciate it ;)

Please e-mail me if you have a trace... thanks !

Link to comment
Share on other sites

Guest mrnismisk
Good find, thanks ! I have verified on my HTC Hero and indeed, the HTC clock contains the alarms. This will be a green item, labeled [ALARMS] in the next version !

You're right - in fact you *can* usually find a slightly older, more mature version there: http://www.matrixrewriter.com/android/file...aniumBackup.apk

It's really not supposed to FC on startup, though. I didn't receive any report of that, so could you - pretty please - launch aLogcat or "adb logcat" to capture the trace ? I would really appreciate it ;)

Please e-mail me if you have a trace... thanks !

When i was in the process of taking a logcat it suddenly hit me that i had used the ODEX scrip. First time i used it and i suddenly remembered that i read that i have to run it again if i update apk:s. Well that was the problem titanium runs perfect as usual now.

Sorry for blaming your application for my mistake.

Link to comment
Share on other sites

Guest Keramidas
When i was in the process of taking a logcat it suddenly hit me that i had used the ODEX scrip. First time i used it and i suddenly remembered that i read that i have to run it again if i update apk:s. Well that was the problem titanium runs perfect as usual now.

Sorry for blaming your application for my mistake.

Ok, thanks for the info ! I didn't know that "non-odex" ROMs even existed ;)

Link to comment
Share on other sites

Thanks for having taken the time to go through this !

I have just had another idea. Just look at the "package name" for one of the apps that force close, and then try (let's say the package name is com.abc.def):

chmod -R 777 /data/data/com.abc.def

Then start that app again and see if it works :-)

Thanks !

EDIT: Wow ! I just through the rest of the thread, and noticed that apelly had already thought about the UID problem before I did. If the "chmod" works, it means it's an UID problem.

Sorry for the delay.

Unfortunately no, chmod'ing all an app's data to 777 doesn't help. However, if the issue isn't simply a matter of the app accessing its file data, but rather accessing services internal to Android, surely this wouldn't help? Worth trying though.

Another observation: Before I ran the above check I noted that ownership of Shazam's data was app_11 (10011) & of SpiritLevel was app_64 (10064). Using adb shell ps I was able to check the process id of SpiritLevel (as one example) while it was throwing the subsequent force close. It was still showing as 10064. This leaves me a little confused, as I expected to see it running with a different UID at this point :/

That all said, the idea that this problem is connected with permissions to access services does make a great deal of sense, since it would explain why many apps FC immediately, while some only do at a certain subsequent point in their usage (eg Yz Free, a Yahtzee clone, only FCs at game end when it tries to update high scores) & a small number of apps seem to have no problems.

All in all, most annoyingly puzzling ;)

Link to comment
Share on other sites

Ok, thanks for the info ! I didn't know that "non-odex" ROMs even existed ;)

Not sure if I'm missing something, but isn't mrnismisk referring to the process of odexing non-system apps, ie those in /data/apps? This is always going to be dodgy as those apps can be upgraded in situ, via say the market, at which point the odex is invalid. Unless you patched the upgrade process to reodex the app. That all said, & without wishing to drag things further OT, is there really much point in odexing such apps? Aiui, all you're doing is saving a little bit of time from when the app is first run, since it will then get odexed into the Dalvik cache?

Link to comment
Share on other sites

Guest mb9876

I can get '#' with su in terminal window, but 'whoami' says 'not found'. When I run titanium backup, it asks for root permission, I allow, and it comes back and says 'can't get root access' ?? I've tried letting it download busybox, but it didn't seem to change anything.

Suggestions?

Link to comment
Share on other sites

Guest Keramidas
I can get '#' with su in terminal window, but 'whoami' says 'not found'. When I run titanium backup, it asks for root permission, I allow, and it comes back and says 'can't get root access' ?? I've tried letting it download busybox, but it didn't seem to change anything.

Suggestions?

Hi,

First please try to install busybox manually, using the procedure detailed under "Troubleshooting" on my page:

http://www.matrixrewriter.com/android/

Then you can use "/data/data/com.keramidas.TitaniumBackup/files/busybox whoami" instead of just "whoami", and thus verify whether you have "uid 0" or not, after typing "su".

Thanks !

Link to comment
Share on other sites

Guest mb9876
Hi,

First please try to install busybox manually, using the procedure detailed under "Troubleshooting" on my page:

http://www.matrixrewriter.com/android/

Then you can use "/data/data/com.keramidas.TitaniumBackup/files/busybox whoami" instead of just "whoami", and thus verify whether you have "uid 0" or not, after typing "su".

Thanks !

Yes, that did it. thanks!

Link to comment
Share on other sites

  • 1 month later...
Guest Keramidas

Hi everyone !

For those willing to try it, here is a 3.1.1 test version with Scheduled backups support. It's not on the Market yet !

The changelog can be seen from the app's MENU.

Edit: It's published on the Market now. Thanks for helping !

Edited by Keramidas
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.