如何在Unity 2017中使用jni4net代理?

时间:2019-04-30 16:38:30

标签: java c# visual-studio unity3d jni4net

我已经成功生成了代理(从Java到.NET),并且已经成功创建了具有这些代理的.NET应用,该应用利用了Java代码并且运行良好。我想在Unity 2017中使用这些代理,但我认为这不是问题,因为它们都在Visual Studio 2017中的独立.NET解决方案上工作。但是,当我尝试在Unity中使用它们时,出现此错误消息:

NullReferenceException: Object reference not set to an instance of an object
net.sf.jni4net.Bridge..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for net.sf.jni4net.Bridge
net.sf.jni4net.BridgeSetup.AddBridgeClassPath ()
net.sf.jni4net.BridgeSetup..ctor (Boolean autoAddBridgeClassPath)
net.sf.jni4net.BridgeSetup..ctor ()
MS4NET.MediaSense..ctor (System.String path)
Test1.Start () (at Assets/Scripts/Test1.cs:12)

当我这样初始化jni4net时:

BridgeSetup setup = new BridgeSetup();
setup.Verbose = true;
setup.AddAllJarsClassPath(path)
Bridge.CreateJVM(setup);

找到.ddls,它会自动完成代理中的代码。但是,在尝试运行它时会抛出TypeInitializationException。我认为这是因为在Visual Studio 2017解决方案中运行它时必须存在的jar文件没有被使用。如果我根本不包括它们,则会出现此错误。我尝试将它们放在编辑器,插件和资产文件夹中,但仍然遇到相同的错误。有人尝试过成功吗?

0 个答案:

没有答案