You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 11.0 FMX Android应用无法在Nox Android7.1模拟器启动求助

解决Delphi 11 FMX Android应用在Nox 7.1模拟器启动崩溃问题

针对你遇到的仅含TButton的FMX应用在Nox 7.1模拟器闪屏后崩溃的问题,可按以下步骤排查解决:

1. 适配模拟器架构

Delphi 11默认编译ARM架构APK,Nox模拟器多为x86/x86_64架构,即便支持ARM转译也可能存在兼容问题:

  • 打开Delphi项目设置,切换到Android平台,在“目标架构”中勾选x86(对应32位模拟器)或x86_64,重新编译APK后安装测试。
  • 或在Nox模拟器的设置中开启“ARM兼容模式”(部分版本命名为“强制使用ARM库”),重启模拟器后再安装应用。

2. 匹配SDK/NDK版本

你当前使用的Android 32位SDK 25.2.5版本过低,Delphi 11对SDK版本有明确要求:

  • 通过Delphi IDE的“SDK管理器”安装官方推荐的Android SDK(建议API 29及以上)和对应NDK版本,更新项目的SDK路径指向新安装目录,重新编译项目。

3. 检查闪屏与权限配置

闪屏后崩溃可能和资源或权限相关:

  • 打开项目生成的AndroidManifest.xml,确认已添加必要权限(如INTERNET,部分FMX基础组件依赖该权限),同时检查闪屏图片的尺寸、格式是否符合Android规范。
  • 临时移除自定义闪屏配置,使用FMX默认闪屏测试,排查是否为闪屏资源导致的崩溃。

4. 查看崩溃日志定位根因

若以上方法无效,需通过日志明确崩溃原因:

  • 使用Delphi自带的“设备监视器”连接Nox模拟器,过滤应用包名查看崩溃堆栈信息。
  • 或在命令行执行adb logcat | grep 你的应用包名,获取详细崩溃日志,定位具体出错环节。

你提供的代码参考:

MainUnit.pas

unit MainUnit;
interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm2.Button1Click(Sender: TObject);
begin
  Button1.Text := 'Clicked';
end;

end.

TestApp.dpr

program TestApp;

uses
  System.StartUpCopy,
  FMX.Forms,
  MainUnit in 'MainUnit.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

内容的提问来源于stack exchange,提问作者slagbandit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:54:32