所以今天在这里的人们的帮助下,我整理了一个使用ndk的简单Android应用程序.我将特征库直接导入到我在源代码树中创建的jni文件夹中,然后使用cygwin我能够编译项目.继承源,以便其他人尝试学习jni基础知识,从c ++到java传递数据,然后返回一些代码.该应用程序在edittext字段中只占用6个数字,当用户单击该按钮时,两个浮点数组将传递给本机方法并加载到两个特征浮点向量中,然后将它们相加.两个向量的乘积传递回java,然后显示在textview中.
下面是android的特征库的链接:
https://bitbucket.org/erublee/eigen-android
Run Code Online (Sandbox Code Playgroud)
您只需要在文件树中向下一层的实际特征文件夹.只需将一层的特征文件夹复制并粘贴到特征源中,然后放入您创建的jni文件夹中,以便在您的android项目中保存您的c ++代码.
继承人java:
package jnimath.act;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class JnimathActivity extends Activity {
/** Called when the activity is first created. */
public EditText x;
public EditText y;
public EditText z;
public EditText x2;
public EditText y2;
public EditText z2;
public float[] vecArray;
public TextView textView1;
public Button run;
float[] array3 = new float[3];
float[] array1 = new float[3];
float[] array2 = new float[3]; …Run Code Online (Sandbox Code Playgroud)