我对 Unity 开发还很陌生。我遵循了许多关于在 Unity 中使用本机插件的不同教程。那些包含编译 .dll 库并在编辑器中运行它们的程序工作得很好。但是使用 android NDK 编译 .so 文件并在 Unity 中的 C# 脚本中调用它似乎是不可能的。即使是这个简单的例子,它也总是抛出 DllNotFoundException。此示例中的库不包含任何其他内容,因此问题不可能是我缺少附加库。我正在使用 Unity 2018.3.7f1,并确保这些库被标记为与 Android 兼容,并且具有适用于 Android 的构建集。我的机器是Windows 10。[编辑]:我试图将它部署在三星 Galaxy s7 上。该设备是 64 位的,所以我必须在 Unity 编辑器中进行一些更改(在播放器设置中选择 IL2CPP 等)。我知道 Unity 编辑器总是会抛出错误,因为它无法检测到 Android 插件。然而,编辑器和设备上的结果是一样的,就是一个空的蓝屏。我认为 DllNotfound 是问题所在,但现在我意识到情况可能并非如此。
1 回答

紫衣仙女
TA贡献1839条经验 获得超15个赞
您是否尝试在编辑器中运行?如果是,它将抛出异常。尝试使用 Build in Mobile
或者您必须添加平台相关的编译代码才能在编辑器中正常运行
#if !UNITY_EDITOR
[DllImport("native")]
private static extern float add(float x, float y);
#endif
void OnGUI ()
{
float x = 3;
float y = 10;
#if !UNITY_EDITOR
GUI.Label (new Rect (15, 125, 450, 100), "adding " + x + " and " + y + " in native code equals " + add(x,y));
#endif
}
- 1 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消