4

I have an app that a recent update has removed functionality, so I would like to make the market think I no longer have this app so it'll stop trying to update it and I can safely use the "update all" feature again.

If this question looks like an exact duplicate of this question, it is because it is, EXCEPT the titanium backup solution which I've tried dozens of times, while android market is stopped, restarts, rom flashes, etc will not work under any circumstances. The titanium backup "detach from market" doesn't appear to help in the slightest. I'm not actually sure what that does. My assumption is that recent versions of the market broke the detach functionality.

Titanium backup "Detach from market" doesn't work.

5
  • 2
    If you have root, it might be possible to pull the APK from the device, uninstall the market version, then re-install from the pulled version? I think that might be possible, but I would see if anyone has a better solution first.
    – Bryan Denny
    Commented Jun 5, 2012 at 18:02
  • Clearing the Market data might help, but I also like Bryan's suggestion. Commented Jun 5, 2012 at 18:59
  • @Bryan: I do have root but don't know what you mean "Pull the APK"? Is this something I can do with titanium backup or do I need to connect it to the computer and use ADB?
    – Dan
    Commented Jun 6, 2012 at 15:28
  • @Dan You can do it either way. If you make a backup with Titanium, then it should save a copy of the APK that you can restore later. Similarly, you can use ADB PULL to pull the apk from the /data/ directory (/data/apps? I can't remember the name of it). Or you could use Root Explorer to find that directory on your device and look for the APK.
    – Bryan Denny
    Commented Jun 6, 2012 at 16:51
  • Maybe this answer to the mentioned/linked question might help you (just added).
    – Izzy
    Commented Aug 13, 2012 at 10:31

2 Answers 2

2

Save a copy of the original .apk file and keep it backed up.

A bulletproof way to get cut off from Google Play's update mechanism for that app is to re-sign it with a different key, then reinstall the newly signed apk file. Google Play (maybe) will still offer updates** for that app, but installing them will eventually fail because of the different signature. ApkTool will do it for you:

me@local:/tmp$ java -jar apktool.jar decode --no-src FDroid.apk fdroid/
I: Copying raw classes.dex file...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: /home/me/apktool/framework/1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
me@local:/tmp$ java -jar apktool.jar build fdroid/ FDroid.new.apk
I: Copying classes.dex file...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
me@local:/tmp$ md5sum FDroid.apk FDroid.new.apk
123c6932114dbed1334611eb8f4ca397  FDroid.apk
059ba98c5c60433cb6799013f22f244f  FDroid.new.apk
me@local:/tmp$ diff -rq FDroid.apk FDroid.new.apk
Files FDroid.apk and FDroid.new.apk differ.

ZipSigner2 might also help you do it (just found it on Google Play).

4
  • Unfortunately, I wasn't able to recompile the APK I wanted to do this to, but +1 for a great answer. Commented Dec 11, 2012 at 3:07
  • Also tried zipsigner2, mentioned above?
    – ce4
    Commented Dec 11, 2012 at 4:07
  • I was able to resign the APK, not sure whether it worked or not, plus it's not so straightforward to figure out which key to sign with. Commented Dec 11, 2012 at 5:21
  • Thanks, this worked for me in my case. One quick note, though: Some apps will refuse to work and/or restrict their feature-set if they detect a modified signature. YMMV. Commented Jun 9, 2015 at 16:42
1

Recent Market updates did break the detach. A solution is to freeze Market Updater and then uninstall updates of Market. If the original version of Market in your ROM is old enough, this will downgrade it to a version before the relevant update. Whether this will eventually make things not work in Market, I don't know yet.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .