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.

  • 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
    Jun 5 '12 at 18:02
  • Clearing the Market data might help, but I also like Bryan's suggestion. Jun 5 '12 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
    Jun 6 '12 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
    Jun 6 '12 at 16:51
  • Maybe this answer to the mentioned/linked question might help you (just added).
    – Izzy
    Aug 13 '12 at 10:31

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).

  • Unfortunately, I wasn't able to recompile the APK I wanted to do this to, but +1 for a great answer. Dec 11 '12 at 3:07
  • Also tried zipsigner2, mentioned above?
    – ce4
    Dec 11 '12 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. Dec 11 '12 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. Jun 9 '15 at 16:42

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.