I am trying to convert a jar into dll in dotnet using IKVM but am getting this error Exception in thread "main" java.lang.ClassNotFoundException: \Location of the jar\...
CAn anyone provide some guidance..
开发者_运维问答Thanks in advance
Prerequisites -
- You must have the JDK installed on your system.
- Set the environment variables for the JDK.
Steps:
- Open the command prompt.
- Go to the
ikvmc
folder (ikvmc.exe
comes with theikvm
package). - Enter the command
ikvmc -out:myapp.dll myapp.jar
First, create a new Bindings Library project. In Xamarin Studio or Visual Studio, create a new Solution and select the Android Bindings Library template.
The template includes a Jars folder where you add your .JAR(s) to the Bindings Library project. Right-click the Jars folder and select Add > Existing Item:
Navigate to the .jar file downloaded earlier, select it and click Add:
Verify that the .jar file was successfully added to the project:
right click your jar file=>properities =>choose embedded jar
Set the build action to EmbeddedJar:
EmbeddedJar – the .JAR will be embedded in the Bindings Library.
Set the target API level for your Bindings Library
Finally, build the Bindings Library. Although some warning messages may be displayed, the Bindings Library project should build successfully and produce an output .DLL at the following location:
Projectname/bin/Debug/JarBinding.dll
Reference
https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/
Is it possible that you forgot reference all needed IKVM .Net dlls?
IKVM.Runtime.dll IKVM.Reflection.dll IKVM.OpenJDK.*.dll
I've got something similar with SmsLib .Net version
The follow wiki pages should be helpful:
- http://sourceforge.net/apps/mediawiki/ikvm/index.php?title=ClassLoader
- http://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Ikvmc
- http://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Ikvmc_messages
精彩评论