3

我已经为我们的 Unity3d 安卓游戏构建了一个候选版本,并且我已经在多个设备上进行了尝试。除了三星 Captivate 之外,它无处不在。在那个设备上,它甚至拒绝安装。你尝试从 APK 安装,它想了一会儿,然后告诉你应用程序没有安装。没有比这更多的信息了。

奇怪的是,这个应用程序的早期版本总是安装得很好。虽然我已经将 android 工具从 r21 升级到 r22,但这个新版本中只有一些小的崩溃修复。

手机运行 froyo,但清单的最低 API 为 8。这是 Play 商店看到的清单信息的屏幕截图:

清单显示 API 8

这是设备的信息转储: http: //pastebin.com/4jWq1nRS

这是安装中的 logcat:http: //pastebin.com/X6K87fPK(查找company.appname

安装在 14:35:50.275 完成失败。就在此之前,通过安装多次,手机抱怨:

07-15 14:35:47.185 W/PackageParser(2480): Unknown element under <manifest>: supports-gl-texture at /data/app/vmdl62580.tmp Binary XML file line #51

这很奇怪,因为 a)supports-gl-texture 是一个有效的清单元素,并且 b)谷歌播放控制台或任何其他手机都不会抱怨清单。

有一些例外提到 com.mobidia.android.mdm.testframework.TestManager。我让用户卸载了 mobidia 的 My Data Manager,但仍然无法安装。

在logcat中弹出这个错误:

07-15 14:35:47.427 W/PackageParser(2480): Exception reading assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll in /data/app/vmdl62580.tmp
07-15 14:35:47.427 W/PackageParser(2480): java.lang.SecurityException: /data/app/vmdl62580.tmp failed verification of META-INF/CERT.SF
...
07-15 14:35:47.427 E/PackageParser(2480): Package com.company.appname has no certificates at entry assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll; ignoring!

我已经检查了诸如“ Eclipse 不会让我的应用程序运行”之类的答案,以解决“进入时没有证书”错误,但不认为它们适用,因为这个问题特定于手机,而不是构建。该版本肯定是用我们的发布证书签名的,否则我无法上传到 Play 商店。我用 jarsigner 验证了它,它显示为完全验证。

我可以提供任何其他诊断吗?知道为什么这部手机会坏掉吗?我不想发布并发现这是许多手机的问题。

4

2 回答 2

2

这看起来像Android Bug 56006,目前尚未解决。

但是,您似乎相处得很好:Airbnb 的某个人在该错误中发布了相同的经历,并确认使用 r21 构建解决了该错误。

你可能想用你的日志在那里插话。

于 2013-07-17T03:58:15.173 回答
0

我将我的工具从 r22 完全回滚到 r22,它解决了这个问题,但这似乎不是一个可行的长期解决方案。

回滚不容易!它涉及用下载的 r21 工具副本覆盖我的 android-sdk/tools/ 目录(您必须猜测这个 URL,谷歌不会发布它。查看http://developer.android.com/sdk/index.html)。然后打开 SDK 管理器并重新安装平台工具。

对于 Eclipse,我需要删除、重新安装,然后导入 ADT 插件的压缩副本(再次查看网站并猜测链接!)。卸载然后重新安装回滚插件会导​​致问题。

于 2013-07-16T20:38:13.297 回答