我已经向亚马逊应用商店提交了一个应用。现在因为同样的原因被拒了两次,但是我找不到问题所在。它一开始就崩溃,通常是 2-3 个 Activity 窗口。这个错误在我们的测试设备上从未发生过,而且谷歌市场上的应用程序也没有出现过任何错误或崩溃。到目前为止,我完全无法重现错误。
在上次拒绝时,我们请求了他们发送的堆栈跟踪,但只有错误,没有警告,根据我收集的信息,我需要找出究竟是什么方法导致了 Java.Lang.VerifyError
来自 W/dalvikvm。是否可以合理地假设当他们反编译应用程序并将他们的亚马逊 drm/跟踪/任何代码注入(inject)应用程序并重新编译它时,它会导致与我的某些代码发生冲突错误?或者亚马逊可能使用与我们不同的 Java 版本进行编译? (我们的是 1.6)
该应用程序将 minSDK 和 targetSDK 都设置为 api8,这是最低 2.2,我们针对 2.2 编译它,之前有没有其他人在 Amazon 上遇到过这个错误,也许能够让我了解问题的根源解决了吗?
谢谢
最佳答案
发现问题。在 Manifest 中有一个被声明为 Activity 的 .java 文件,它最初是这样的,但它已被更改为扩展 Dialog。
当 Amazon 将代码注入(inject)您的应用程序时,他们会查看 list 以找到 Android Activity ,然后将回调和方法覆盖等代码注入(inject)其中,其中一些特定于 Activity 类。当 Amazon 查看我的 list 时,他们认为该类是一个 Activity,但它现在实际上是一个 Dialog,当试图覆盖不存在的方法时应用程序崩溃了。
一旦删除了不是实际 Activity 的类的 list 声明,应用程序就获得了批准。奇怪的是,google 和 eclipse 没有在编译应用程序时选择不是 Activity 的已声明 Activity 。
希望这可以帮助其他似乎无法找出他们的应用未获得亚马逊批准的原因的人。
关于android - 亚马逊应用商店 Android Java.Lang.VerifyError 无法复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042361/