我是Unity开发的新手。关于Unity中本机插件的使用,我遵循了许多不同的教程。其中包括编译.dll库并在编辑器中运行它们。
但是使用android NDK编译.so文件并在Unity中的C#脚本中调用它似乎是不可能的。即使使用this trival example,它也总是抛出DllNotFoundException。本例中的库不包含任何其他内容,所以问题不可能是我缺少附加库。
我正在使用Unity 2018.3.7f1,并确保库被标记为与Android兼容,并且有一个针对Android的构建集。我的机器是Windows 10。
编辑:我试着把它部署在三星galaxy s7上。这个设备是64位的,所以我不得不在Unity Editor中创建一些changes (在播放器设置中选择IL2CPP,等等)。我知道Unity Editor总是会抛出错误,因为它不能检测Android插件。然而,编辑器和设备上的结果是相同的,那就是一个空的蓝屏。我原以为DllNotfound才是问题所在,但现在我意识到情况可能并非如此。
发布于 2019-03-08 00:59:48
你想在编辑器中运行吗?如果是,它将抛出一个异常。尝试在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
}https://stackoverflow.com/questions/55048398
复制相似问题