2016-02-21 4 views
1

У меня есть файл .net dll, скомпилированный для окон. Мне нужно преобразовать его в файл .jar с той же функциональностью для Android.
Есть ли способ конвертировать его в исполняемый файл .jar?Преобразование .Net dll в файл jar

Я попробовал Com4j для этого. Но это исключение.

C: \ Users \ Name \ Desktop \ ком> Java -jar tlbimp.jar -o выходных -p MyPackage Maths.dll

Exception in thread "main" com4j. 

ExecutionException: com4j.ComException: 80029c4 
a LoadTypeLib failed : Error loading type library/DLL. : .\com4j.cpp:395 
     at com4j.ComThread.execute(ComThread.java:203) 
     at com4j.Task.execute(Task.java:25) 
     at com4j.COM4J.loadTypeLibrary(COM4J.java:322) 
     at com4j.tlbimp.driver.Lib.getLibid(Lib.java:90) 
     at com4j.tlbimp.driver.Driver.addLib(Driver.java:38) 
     at com4j.tlbimp.driver.Main.doMain(Main.java:123) 
     at com4j.tlbimp.driver.Main.main(Main.java:56) 
Caused by: com4j. 

ComException: 80029c4a LoadTypeLib failed : 
Error loading type library/DLL. : .\com4j.cpp:395 
     at com4j.Native.loadTypeLibrary(Native Method) 
     at com4j.COM4J$2.call(COM4J.java:324) 
     at com4j.COM4J$2.call(COM4J.java:322) 
     at com4j.Task.invoke(Task.java:51) 
     at com4j.ComThread.run0(ComThread.java:153) 
     at com4j.ComThread.run(ComThread.java:134) 

ответ

0

JAR-файлы содержат Java .class байт-код. DLL содержит скомпилированный код Windows.

Единственный способ, с помощью которого я могу повторно использовать DLL в Java, - это вызвать его с помощью интерфейса JNI. Я не уверен, что вы можете выполнить собственный код на Android. Разрешено ли JNI на мобильных устройствах?

+0

У нас нет исходного кода. Вместо этого файл dll присутствует только. – Rinku

+0

Тогда я понятия не имею, что вы ожидаете от этого. JNI - ваша единственная надежда. http://developer.android.com/ndk/samples/sample_hellojni.html – duffymo