从 v4.1 Jelly Bean开始,Google 为 Google Play 引入了新的应用资产加密功能。似乎在升级应用程序时出现了一些问题,包括重启后持久数据丢失,这是由于 apk 目录的变化引起的(旧的是/data/app
,现在是/mnt/asec
)。
因此,对于 OS 2.3+,在 Google Play 上发布(或更新已发布的应用程序)时,
- 我可以禁用此选项并发布未加密的应用程序吗?
- 问题的现状如何?有解决方法吗?
除了这个问题之外,提供额外保护以防止盗版的想法似乎还可以,但是还有一些我在文档中找不到解释的额外注意事项:
- 发布到替代商店或通过 OTA 部署的应用程序呢?它们也可以加密吗?如果没有,那么如果有人可以从其他地方下载未加密的 apk 并立即反编译,那么在 Google Play 发布中造成如此痛苦的意义何在?
- 手机root能打败吗?
- 为 OS 4.0+ 提供的 apk 是唯一受保护的吗?如果是这样,那么,如果有人可以将未加密的 apk 下载到 Gingerbread 手机上,用 adb 将其取出并以通常的方式进行反编译,那么这有什么意义呢?
- 假设该机制有效:备份应用程序(如 Titanium Backup)或使用 adb 的手动 apk 备份怎么样。他们还会工作吗?
- 性能:某些应用程序可能有相当大的 apk 大小。这种机制会影响性能吗?操作系统是否会在每次加载时解密整个 apk?
提前致谢
更新:
编辑以包含指向 Google 代码问题的链接。
问题 34880(已关闭,但仍有一些开发人员抱怨;状态:未来版本)
问题 35962(已关闭;状态:已发布)
更新#2:此博客文章的
有趣信息由第一期中的一位开发人员链接。这里也是德语。
用户和开发人员报告说,在过去几天中,使用最新版本的 Google Play (3.7.15) 安装的应用程序的问题似乎已经消失。以前安装有问题的应用程序的用户需要卸载然后免费重新下载。根据一份报告,新版 Google Play 现在将付费应用程序再次保存到 /data/app,这意味着 Google 目前已停用版权保护功能。谷歌尚未就该问题公开发表评论。该错误被标记为中等优先级,状态为“FutureRelease”以进行可能的修复。