Thursday, August 16, 2012

How to fix paid apps from Play Store on KitKat and Jelly Bean

KitKat, the latest version of Android, and Jelly Bean, the version before that had implemented a security feature to thwart app piracy. Now, when you download any app from Google Play Store, it integrates a device id in the app before downloading/installing it at /mnt/asec on your device. This location is 'encrypted' and is different than the usual location /data/app. There are a few technical details but long and short of it is that those apps then don't work on Jelly Bean. Most of the users are reporting that this happens only for paid apps. But I saw this happening with my free apps as well. All my apps are getting a bad rep due to this. And I'm fielding a lot of refunds too.

I did a lot of searching and code troubleshooting since morning. Some reports said that Google has turned off this DRM 'feature' for the time being and that this problem is resolved for now. Well, doesn't seem to be true in my case. I found one workaround for this though. How to make paid/free apps, specially theme packs work on Jelly Bean when purchased/installed through Play Store? Read on to find out.

  • You need to have a rooted device with Titanium Backup installed on it.
  • Run Titanium Backup and go to "Backup/Restore" tab.
  • Scroll down the list of apps and tap the app which is not working after installing from Play Store.
  • Click "Backup". (Left screenshot below)
  • Tap the app again and this time click "Restore". (Right screenshot below)
  • When asked "What would you like to restore ?", press "App + Data".
  • Exit Titanium Backup. Your malfunctioning app will now be working.

UPDATE - 4/16/2014
Users don't need to do this anymore for UCCW skins. Even though the issue is still existing in Android devices running Jelly Bean and higher, a workaround solution was provided by the UCCW developer Vin. The UCCW skin apps that you now download from play store come in the form of skin installers. That is, the UCCW skin apps are now wrapped inside another app, which helps to install the skin app. This is how this works -

  1. On your Android device, go to Android settings > Security, and make sure "Unknown sources" is enabled. This is so that the installer app that you download from play store will be able to install the skin app that it is carrying inside itself.
  2. Launch the installer app from app drawer and tap "Install Skin" button in the app.
  3. If your device is running anything below KitiKat, it will ask you whether you want to replace the app. This step is replacing the skin installer with the actual skin. Tap "Ok" here. OR
  4. If you are using a KitKat device, it will ask whether you want to update the existing app.
  5. Tap "Install". When that finishes, tap "Done". The installer app is replaced by the skin app at this point and you're good to go.

Other related articles -
Icon Packs.
Ultimate UCCW skins for Android.

If you appreciate my effort, please buy some of my apps from iWizard Store.

Keywords: JellyBean, PlayStore, Encryption, DRM, Titanium Backup
Related Posts with Thumbnails