我已经为我们的 Unity3d 安卓游戏构建了一个候选版本,并且我已经在多个设备上进行了尝试。除了三星 Captivate 之外,它无处不在。在那个设备上,它甚至拒绝安装。你尝试从 APK 安装,它想了一会儿,然后告诉你应用程序没有安装。没有比这更多的信息了。
奇怪的是,这个应用程序的早期版本总是安装得很好。虽然我已经将 android 工具从 r21 升级到 r22,但这个新版本中只有一些小的崩溃修复。
手机运行 froyo,但清单的最低 API 为 8。这是 Play 商店看到的清单信息的屏幕截图:
这是设备的信息转储: 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 验证了它,它显示为完全验证。
我可以提供任何其他诊断吗?知道为什么这部手机会坏掉吗?我不想发布并发现这是许多手机的问题。