我正在为亚马逊等没有 APK 扩展机制的应用商店创建我的游戏版本 - 所以我将所有文件放在我的“资产”文件夹中。
但是,我的 300+ MB APK 似乎产生了很多问题:
当我尝试在模拟器或三星 Galaxy S2 上使用 ADB 安装它时,大约 75% 的时间会失败。从三星,我得到 INSTALL_FAILED_MEDIA_UNAVAILABLE (虽然它没有安装,并且有足够的可用空间),从模拟器,我得到只是“空”。同样,这发生在大约 75% 的时间里,完全随机。
我的游戏在本机代码的某个时间点锁定。那里绝对没有任何东西可以锁定或与操作系统有关 - 只是简单的 C++ 逻辑。我验证了这个问题只有在我将大型资产推送到 APK 时才会发生。如果我删除资产(完全未使用,只是将大文件推到那里),问题就不会发生。澄清一下——为了测试,我手动将游戏文件推送到设备中,因此它与资产提取无关。
这很奇怪,我开始考虑拥有自己的扩展文件服务器。
有任何想法吗?
更新:
- 找到#2的解决方案。我使用的代码库在后台使用 APK 资产做一些骇人听闻的事情,这就是它被锁定的原因。我删除了该代码,因此#2无关紧要。
现在唯一的问题是难以安装大型 APK 文件。