我们有两部Android手机:
我们从delphi xe 5 update 2制作了一个空白的apk,我们安装了最新版本的sdks。安装完成后,我们将三星和摩托罗拉手机插入电脑。在xe5平台菜单上Atrix mb860和三星手机来了。如果我们使用三星手机编译apk,它安装并运行没有问题,但是当我们尝试使用Atrix它完成编译,安装apk但应用程序不是woking。它给出了一个错误:
`"Project Project1.apk raised exception class Illegal instruction (4)."`.
我们如何解决这个问题?
答案 0 :(得分:1)
Atrix有一个NVidia Tegra 2 CPU,Delphi目前不支持。 Tegra不支持NEON。在移动设备上,Delphi仅支持带有NEON的ARMv7 CPU。记录在案:
RAD Studio支持在支持NEON的ARMv7处理器上运行的Android设备的应用程序开发。
Android Devices Supported for Application Development(Embarcadero DocWiki)
注意: RAD Studio不支持以下内容: - Honeycomb(Android 3.x) - 姜饼模拟器 - Tegra 2设备(需要NEON支持)
另见:
Android Devices Supported for Application Development(Delphi Wiki)
答案 1 :(得分:0)
要支持各种Android设备,您需要使用可以定位这些设备硬件的开发工具。正如Remy所说,您正在使用的设备使用ARMv7以外的硬件。这意味着Delphi无法定位它。
据我所知,Embarcadero没有计划支持其他Android硬件。
我们如何解决这个问题?
您需要使用其他开发工具。相当彻底的解决方案。一个很好的选择是原生的Android开发工具。另一种选择是RemObjects Oxygene,它可能支持该硬件和较旧的Android SDK。