2011-03-17 106 views
4

我正在尝试将jar转换为使用IKVM的dotnet中的dll,但是在线程“main”java.lang.ClassNotFoundException中出现此错误异常:\ jar \的位置...使用ikvm将罐子转换为dll

任何人都可以提供一些指导..

在此先感谢

回答

0

难道你忘了所有的参考IKVM所需的DLL。净? 。

IKVM.Runtime.dll IKVM.Reflection.dll IKVM.OpenJDK * DLL

我有与SmsLib .NET版本

16

先决条件 -

  1. 您必须已经安装在系统上的JDK。
  2. 设置JDK的环境变量。

enter image description here

步骤:

  1. 打开命令提示。
  2. 转到ikvmc文件夹(ikvmc.exe附带ikvm包)。
  3. 输入命令ikvmc -out:myapp.dll myapp.jar
+0

如果你觉得它有帮助,那就投票吧 – 2012-08-09 05:05:34

+0

虽然所有相关/引用的jar都驻留在同一个目录中,但我得到很多'class not found'错误 – 2012-11-30 15:41:11

+0

要转换为DLL的JAR文件应该符合JAVA JDK 1.7或更低。此限制是因为IKVM目前不支持转换使用JDK 1.8或更高版本编译的JAR文件。 – Dinesh 2017-12-13 08:48:36

0

首先,创建一个新的绑定库项目。在Xamarin Studio或Visual Studio中,创建一个新的解决方案并选择Android绑定库模板。

该模板包含一个Jars文件夹,您可以将您的.JAR添加到绑定库项目中。右键单击该瓶文件夹并选择添加>现有项:

导航到先前下载的.jar文件,选中它,然后单击添加:

验证.jar文件已成功添加到项目中:

右键单击您的jar文件=>电学性能的研究=>选择嵌入式罐子

设置构建动作EmbeddedJar:

EmbeddedJar - 将.jar将被嵌入绑定资源库中

设置您的绑定库

最后目标API级别,建立绑定库。虽然可以显示一些警告信息,绑定库项目应该能够成功建立,并在以下位置产生一个输出.DLL:

项目名/斌/调试/ JarBinding.dll

参考

https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/