Java Android与Mathematica连接失败-与JLink

Java Android与Mathematica连接失败-与JLink,java,android,android-studio,wolfram-mathematica,remote-access,Java,Android,Android Studio,Wolfram Mathematica,Remote Access,我需要一些关于将Mathematica与Android应用程序(在Android Studio中,OS:Windows 7)和JLink库连接的帮助。到目前为止,我编写的代码如下: package user.lab; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import an

我需要一些关于将Mathematica与Android应用程序(在Android Studio中,OS:Windows 7)和JLink库连接的帮助。到目前为止,我编写的代码如下:

package user.lab;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.wolfram.jlink.*;


public class A1 extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);

    KernelLink ml = null;
    String argv = "-linkmode launch -linkname \"C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe\"";
    String jLinkDir = "C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe";
    System.setProperty("com.wolfram.jlink.libdir", jLinkDir);
    System.out.println("OK1 ");

    try {
        ml = MathLinkFactory.createKernelLink(argv);
        System.out.println("OK ");

    } catch (MathLinkException e) {
        System.out.println("Fatal error opening link: " + e.getMessage());
        return;
    }

    try {
        // Get rid of the initial InputNamePacket the kernel will send
        // when it is launched.
        ml.discardAnswer();

        ml.evaluate("<<MyPackage.m");
        ml.discardAnswer();

        ml.evaluate("2+2");
        ml.waitForAnswer();

        int result = ml.getInteger();
        System.out.println("2 + 2 = " + result);

        // Here's how to send the same input, but not as a string:
        ml.putFunction("EvaluatePacket", 1);
        ml.putFunction("Plus", 2);
        ml.put(3);
        ml.put(3);
        ml.endPacket();
        ml.waitForAnswer();
        result = ml.getInteger();
        System.out.println("3 + 3 = " + result);


        String strResult = ml.evaluateToOutputForm("4+4", 0);
        System.out.println("4 + 4 = " + strResult);

    } catch (MathLinkException e) {
        System.out.println("MathLinkException occurred: " + e.getMessage());
    } finally {
        ml.close();
    }
   }
  }
我已将JLink环境变量设置如下:

姓名:JLINK_LIB_DIR 变量:C:\Program Files\Wolfram Research\Mathematica\10.4\SystemFiles\Links\JLink\SystemFiles\Libraries\Windows


我还将JLink.jar文件连接到了Android Studio。我能做些什么来纠正这个问题?你能帮帮我吗

我对Java知之甚少,对Android/Dalvik更是知之甚少。。。但我知道J/Link使用本机代码共享库来使用MathLink。这些在“普通Java和Android”之间兼容吗?我在许多页面上读到这些兼容。现在,我不知道我的代码是否有问题。我对Java知之甚少,对Android/Dalvik更是知之甚少……但我知道J/Link使用本机代码共享库来使用MathLink。它们之间兼容吗普通的Java和Android?我在很多页面上读到它们是兼容的。现在,我不知道我的代码是否有问题。
Trying to load lib C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/libJLinkNativeLibrary.so 0x423c6aa0
09-14 17:38:06.581    3365-3365/user.lab E/dalvikvm﹕ dlopen("C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/libJLinkNativeLibrary.so") failed: dlopen failed: library "C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/libJLinkNativeLibrary.so" not found
09-14 17:38:06.581    3365-3365/user.lab D/dalvikvm﹕ Trying to load lib C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/SystemFiles/Libraries//libJLinkNativeLibrary.so 0x423c6aa0
09-14 17:38:06.581    3365-3365/user.lab E/dalvikvm﹕ dlopen("C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/SystemFiles/Libraries//libJLinkNativeLibrary.so") failed: dlopen failed: library "C:/Program Files/Wolfram Research/Mathematica/10.4/MathKernel.exe/SystemFiles/Libraries//libJLinkNativeLibrary.so" not found
09-14 17:38:06.606    3365-3365/user.lab W/System.err﹕ Fatal error: cannot find the required native library named JLinkNativeLibrary.