Starting from v4.1 Jelly Bean, Google has introduced a new application assets encryption feature for Google Play. Seems that there were some problems when upgrading apps consisting in persistent data being lost after reboot, caused by the change in apk directory (old one was /data/app
, and now it is /mnt/asec
).
So, when publishing (or updating an already published app) on Google Play, for OS 2.3+,
- Can I disable this option and publish an unencrypted application?
- What is the current state of the issue? Is there a workaround?
Besides this problem, the idea of providing additional protection against piracy seems ok, but there are some additional considerations I couldn't find explained anywhere in the docs:
- What about apps published to alternative stores, or deployed via OTA? Could they be encrypted too? If not, then what is the point of causing so much pain in Google Play publishing if anyone can download the unencrypted apk from elsewhere and decompile it straight away?
- Can it be defeated by rooting the phone?
- Are the apks delivered for OS 4.0+ the only ones with protection? If so, then again, what is the point of this if anyone can download the unencrypted apk to a Gingerbread phone, pull it out with adb and decompile it the usual way?
- Assuming the mechanism worked: What about backup applications (like Titanium Backup), or with manual apk backups using adb. Will they still work?
- Performance: some apps might have a considerable apk size. Does this mechanism hamper performance? Does the OS decrypt the whole apk everytime it is loaded?
Thanks in advance
UPDATE:
Edit to include links to Google Code issues.
Issue 34880 (closed but with some devs still complaining; status: future release)
Issue 35962 (closed; status: released)
UPDATE #2:
Interesting info on this blog post linked by one of the developers in the first issue. Also here in German.
Users and developers report that in the last few days the problem appears to have disappeared for applications installed using the latest version of Google Play (3.7.15). Users who have previously installed problematic apps will need to uninstall and then re-download them free of charge. According to one report, the new version of Google Play now saves paid-for apps to /data/app again, meaning that Google has deactivated the copy protection feature for now. Google has not commented publicly on the problem. The bug is marked as medium priority, with a status of "FutureRelease" for a possible fix.