我想从JAR创建一个DLL,以便在Unity中使用。
我使用JavaSE-1.7创建了一个jar文件,然后使用ikvmc v7.2.4630.5从其中创建了dll。
当我在新的C#Windows应用程序中使用此dll时,它工作正常,没有任何异常或错误,但是当我在Unity中使用它时,即使我得到以下TypeLoadException,它也可以工作:
Could not load type 'java.util.Date' from assembly IKVM.OpenJDK.Core
但这虽然可行,但由于此异常,Unity不会导出或构建我的项目。我该如何解决?
编辑:好的,我可以使它正常工作的唯一方法是,如果我使用JRE 1.5和IKVM的旧版本(如0.28)不能解决我的问题,因为JRE 1.5不支持JRE 1.7的某些功能
最佳答案
尽管这是一个老问题,但我留下了一些建议供以后参考:
尝试使用IKVM的最新版本(在撰写本文时为8.0)。
转到:编辑->项目设置->播放器。在PC / Mac的“其他设置”下,将“ API兼容性级别”从“ .NET 2.0子集”更改为“ .NET 2.0”。重新编译。
将IKVM随附的所有DLL复制到项目的Assets文件夹中(不在子文件夹中)。
支持所有Java版本(甚至Java 8,请参见Release Notes)。