[ThinkTank] How to speed up Market after wipe (Partial fix)
Okay, this has been bugging me for a long time. I've been around since the beginning of G1 and have never seen a solution to this. I'm out of town on vacation, so my updates and responses may be slow. I've found a partial solution for this. If you don't want to read the fluff, drop down to Partial Solution sections, but be warned, this is not perfect (yet). Below is a quick spilling of my guts on this. Please excuse any grammar mistakes and fragmented thought. I posted this in DEV because more research needs to be done by someone that knows how this stuff works. If we get this worked out, I'll update this post with whatever information is necessary.
This post takes for granted the reader has some knowledge of file management and manipulation, so I won't get too detailed with how to copy/move/delete files. There is a lot of information here and I know most won't read it all, but I'm trying to get all the detail into this I can think of in hopes others have ideas that we can share.
I DO NOT KNOW THE RAMIFICATIONS OF WHAT THIS DOES! ANYTHING THAT HAPPENS TO YOUR PHONE IS YOUR FAULT, NOT MINE! Etc... Etc... Etc...
: After flashing/Odin/wiping, sometimes the Market takes about a minute to load as does the app and security info screens. The Top Paid button is missing and all that's available is Top Free and Just In. Installing an app takes quite a bit of time. It eventually clears up, but it may take up to a week.
If you restore Market preferences via Titanium Backup or similar app, it can speed it up, but in the long run, you may get cross referenced apps over time or Market problems in general. For example, I install app1 and when it's finished, I select it in notifications and it takes me to app3. Some apps are also missing from Downloads and have to be installed again for them to show up. I also experience Titanium Backup not linking the Market correctly if at all. How to fix that is below, also.
How I Tested
: I renamed /dbdata/databases/com.android.vending which reproduced the problem reliably and gave me a working set of databases and .xml's to look at.
: Save a copy of /dbdata/databases/com.android.vending/shared_prefs/vending_preferences.xml and put it back after you've restored your apps and opened Market once (just to lay down the directory structure). There are other files that will get more "stuff" back, but because of issues I've had between vending.apk versions, I choose to restore just this one file. It doesn't seem to change much. You can look in it and find some interesting things, but I've found changing it does very little if anything. Changing local_db_sync_required didn't do anything and it just reverted back to "false" for me.
What you will find, is Market will run quickly again BUT, you have no links so none of your apps show as installed. Although it will probably sync over time, the point of my messing around was fairly instant gratification. Thus the next section.
: Market speed is normal, but no apps are linked. Hey, I use Titanium backup! Fix Market links works, partially. I have 226 apps backed up in TB (Yes, this is why I wanted to get this working) and when I fixed Market links, it found 167. I fixed them again and it found 9, then 17, then 6 etc... It repeated some apps and never detected others. I checked and some of the "fixed" apps did not show in downloads... So I started looking. Menu -> Legend showed me part of the issue. Smiley face -vs- green M. For some reason, some of my apps were not linking properly. Here's how to get that part working.
: Here's what I did in TB. I filtered by Status: Backed up and Type: User. Starting at the top of the list, I long pressed on the first "smiley face" which means it didn't back up the Market link and if it was "Attached to Market", I Detached it. View in Market and installed the app. When it was done, I backed the app up again and viola, green M showing it backed up the Market link. I did this many, many more times to fix my links. It worked in all occasions as long as I could find the app in the Market. Of course, some apps installed outside the Market cannot be fixed (duh), but all others worked fine.
I still have a problem getting everything attached in one shot. If I fix Market links in TB, I still get strange results, but this is as close as I can get and I found quite a few apps that have not been linked for so long, they were a few revs behind, so I'm happy with how far I've gotten.
Questions that will be asked
- Why didn't you force attach to Market with TB? Because it didn't work. Some indicated it did, but they didn't show up in Market as installed, they didn't back up as linked and some even reverted back to not being attached and the forced button was available. The above is how I got around all of that.
- What about the other cool DB's and .xml? I didn't find that it was worth any possible issues to restore anything else except this file. That is probably what got me into this in the first place. Your mileage may vary. DB's usually need an update script if any changes are made. If that doesn't happen and the schema doesn't match, that's usually bad. That's why a lot of ROM's require a wipe. The old doesn't match the new...
- Why can't you backup Market with TB now that it is working well? I could and it would probably work, but I know it won't work forever because it didn't before. It also won't help someone else who is in a similar situation. I've been using TB (paid) since it came out and I love it. But, it's not perfect.
- Why should I mess with this instead of waiting for it to fix itself? You probably shouldn't. I've found that if I did a restore of apps, some NEVER go back to the Downloads section without a re-install. That's my concern.
- I don't have any of these problems, why are you posting this? Because I and others have. The universe does not revolve around you. Please move on.
- Why did you post this in Dev? As I said in the beginning, because we need someone who knows how this OS works so maybe a reliable workaround can be had for all. I didn't post in DEV for exposure, I posted here because I started it and I don't know where to go. Maybe a fix can be turned into an app or incorporated directly within a ROM. Who knows? I'm not a DEVing, but I am troubleshooting an issue within the OS.