KISS

Keep It Simple Stupid

Android: stop wanting to update Skype

| comments

I happen to use Skype on my android smartphone. The latest version, four point something, is really slow (or at least was some time ago). So I’m sticking with version 3.2 from my backups. It’s a little better.

The issue is Google Play Store displays skype’s update in My Apps, which distracts me. For a while, I used Titanium Backup’s option to “Detach from Market”. It works for a few days, and then the Store starts to display it again. This workaround needs automation, but is it possible? Android is based on Linux, which is programmer-friendly, so it should be.

I found only one answer on how to do what TB does when detaching an app here: http://android.stackexchange.com/questions/21900/what-happens-in-background-when-an-app-is-linked-or-unlinked-to-from-play-store/21901#21901. That helped me find the right direction, but was not enough. The correct steps are:

  1. Kill Play Store app.

  2. Remove an entry from library.db.

  3. Remove an entry from localappstate.db.

That looks like a perfect idea for a script. Here it is:

1
2
#!/system/bin/sh
su - -- -c "busybox killall -9 com.android.vending; sqlite3 /data/data/com.android.vending/databases/library.db 'delete from ownership where doc_id like "'"'"com.skype%"'"'"'; sqlite3 /data/data/com.android.vending/databases/localappstate.db 'delete from appstate where package_name like "'"'"com.skype%"'"'"'";

Oh yes, you’ll need a rooted device for the script. I use the following apps to work in the console:

Steps to install the script:

  1. Become root: su -s /system/xbin/ash --.

  2. Make /system writable: busybox mount -w -o remount /system.

  3. Type the script in vi and save it to /system/xbin/ to a file with name like unskype.sh.

  4. Make it executable: busybox chmod +x /system/xbin/unskype.sh.

  5. Make /system readonly: busybox mount -r -o remount /system.

  6. Exit root with Ctrl-D (you have the proper keyboard, don’t you?) or exit.

Whenever Skype is displayed in Play Store, you can open the terminal and run the script: /system/xbin/unskype.sh. That’s all. (Even better would be to cron it to run once a few days automatically.)

Comments