【问题标题】:App is not getting started after migrating from Delphi 10.3.1 to Delphi 11从 Delphi 10.3.1 迁移到 Delphi 11 后应用程序未启动
【发布时间】:2023-12-22 14:58:01
【问题描述】:

我使用 Delphi 10.3.1 开发了 android 应用程序,迁移到 Delphi 11 后,Android 应用程序没有启动。 Android 应用程序正在崩溃。我尝试在调试模式下运行并收到错误 - 线程进程已停止。

请帮助我确定并解决问题。

【问题讨论】:

  • 在 Delphi 10.4 中删除了 ARC 内存模型。你检查过你的代码是否有泄漏等?
  • 确保您已重置 java 库。

标签: android delphi firemonkey delphi-11-alexandria


【解决方案1】:

我遇到了这个问题,经过一番挣扎后可以运行我的应用程序。 考虑一下我的经历。

  • Delphi 11 还需要在您的代码中添加权限。
  • Delphi 11 不支持 6 以下的 android。(至少据我研究)
  • 某些组件需要在 Delphi 11 上重新构建。(例如 LocationSensor);
  • 此问题可能与您项目的AndroidManifest.template.xml 有关。重命名或删除它,然后让 Delphi 11 重新创建它
  • ... 之后,如果您无法解决问题,请在启动 App 时禁用(dim)例程并查找目标例程导致的问题。

【讨论】:

  • 权限已经可用,请您解释一下启动时如何调暗例程。
  • 1:在项目 .dpr 上,将您添加到其中的所有行变暗。如果您的项目运行完美,您会发现出现错误的行,如果您的项目再次出现错误,请转到下一步; 2:将除启动表单外的所有创建表单行变暗(例如 Application.CreateForm(Tf..., f..) 并再次运行它,如果仍然存在错误,则继续下一步,如果找到 wich 行会导致错误,通过该表单继续下一步。3:您是否可以在该表单的 Oncreate 中添加代码并找到出现错误的对象或代码,并通过逐个删除暗码的对象,您可以找到目标对象或行。
  • 4:某些错误的原因可能是您添加到项目中的 OnFormShow,并且通过暗淡的例程也有助于找到它。
  • 这个问题可能和你项目的AndroidManifest.template.xml有关。重命名或删除它,然后让 Delphi 11 重新创建它。
  • 删除旧的 AndroidManifest.template.xml 文件有效。非常感谢
最近更新 更多