0

我一直在尝试重现同事构建的 android 应用程序的错误。我们的客户每次运行应用程序时都会在手机上崩溃。我怀疑该错误与应用程序所针对的图形 API 有关(它是一个统一应用程序),但还不能确定。

为了追查问题,我正在使用来自 Android Studio 的 Android 虚拟设备模拟器来制作客户端看到崩溃的确切设备的虚拟版本(它是运行 Android 4.4.4 的旧三星,但我没有t 有权访问)。

应用程序不会崩溃或在虚拟设备上产生任何错误的事实是否证明了我对错误来自何处的想法?

换句话说,我如何确定 Android 虚拟设备准确地复制了真实设备 - 特别是在其图形和处理器方面(我认为这是错误的根源)?

奖励: CPU (ABI) 或图形渲染设置是否会在复制保真度方面发生任何变化?

4

1 回答 1

2

调试时,不会有什么坏处:

  • 在任何类型的真实 Android 设备上尝试相同的操作,
  • 尝试在 AVD 上执行与您描述的相同的操作。

如果您无法使用上述方法重现它,那么您仅验证了这些测试用例确实有效。但无法重现错误并不能证明其原因。充其量只是缩小搜索空间。但是搜索空间有多大?

为了回答这个问题,总的来说,我认为 AVD 不擅长重现此类设备错误。AVD 无法准确复制的搜索空间很大:

  • 渲染或 GPU 错误,
  • 架构或本机库错误,
  • 内存错误,以及
  • 您可能会在 AVD 上发现几乎所有逻辑错误,但不会因为您的配置不同。

因此,如果您无法重现错误并且似乎无法在类似设备上安装该应用程序,我同意 @james-poag 您可以:

  • 如果它们是技术性的,请向用户询问设备日志。这些天你可以使用 adb 作为一个独立的工具
  • 访问用户并将他们的设备插入 Android Studio。
  • 如果他们看到“强制关闭”对话框,请让他们使用 Google Play 报告错误。然后,您可以通过 Google Play 控制台查看详细信息。
  • 要求开发者包括日志上传。
  • 包括一个崩溃报告工具,例如Fabric Crashlytics(非常棒,IMO)。

FWIW,我认为您的怀疑很可能是正确的,但是在您获得更多详细信息之前,您将无法证明这一点。

注意:我认为您的问题已被否决,因为您的标题过于笼统。也许考虑编辑它以反映在 AVD 上测试 Unity 应用程序的细节。

于 2017-05-24T14:33:22.017 回答