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

如何在Godot 3.5(C#/.NET 6)中为Android导出包含外部文件?

Godot 3.5 C#导出Android:.onnx文件无法打包访问的解决方案

文件放置与引用

  • 把.onnx文件直接放在项目的res://目录下(可以新建models子目录归类,比如路径为res://models/xxx.onnx),和你的.txt文件同层级或子目录都可。
  • 代码里直接用res://路径引用,示例:
    string modelPath = "res://models/your_model.onnx";
    

确保文件被打包进APK

  1. 修正导出与导入设置:
    仅在导出对话框的「内置资源」标签添加*.onnx可能不够,Godot 3.5对非标准扩展名文件可能默认跳过。右键你的.onnx文件 → 点击「导入」,在右侧导入面板勾选「保存为资源」,「导入为」选择「原始资源」,再点击「重新导入」。之后回到导出设置,确认*.onnx在包含列表中,同时检查「排除的文件/路径」里没有.onnx相关规则。
  2. 代码验证文件存在性:
    导出前可在编辑器里用代码确认路径有效性,导出后也可加日志排查:
    if (FileAccess.FileExists(modelPath))
    {
        GD.Print("ONNX文件已找到");
    }
    else
    {
        GD.PrintErr("ONNX文件缺失,路径:" + modelPath);
    }
    

onnxruntime相关配置

  • 确认安装的是适配Android的onnxruntime NuGet包(比如Microsoft.ML.OnnxRuntime.Android),避免装成桌面版本。
  • 如果开启了自定义构建,检查build.gradle里是否有onnxruntime依赖——正常NuGet会自动添加,若缺失可手动在dependencies块中补充:
    implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.15.1' // 版本号需与你的NuGet版本对应
    
  • 无需修改AndroidManifest.xml,打包在APK内的资源不需要额外权限。

常见排查点

  • 注意文件名大小写:Android文件系统区分大小写,代码中的路径需与实际文件名完全一致(比如Model.onnx和model.onnx是两个不同文件)。
  • 清理导出缓存:删除项目目录下的export/android/build文件夹后重新导出,避免旧缓存导致配置残留问题。

内容的提问来源于stack exchange,提问作者J. Fenigan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:22:02