NDK的初步使用

用装好了ADT和CDT的Eclipse,结合android sdk,在Windows下使用NDK已经变得很简单了。NDK即为NativeDevelopmentKit,这意味着你可以使用C++来开发Android程序了。先决条件是,你的Eclipse装好了ADT、CDT插件,系统装上了JDK、Android SDK、NDK等工具,并可以开发Android程序。下面是在Eclipse中使用NDK的简单步骤:

(1)在Eclipse中创建一个Android工程,同时创建一个Activity并先保证可以运行

(2)在Eclipse中打开window->preferences->Android->NDK菜单,设置路径

(3)右键点击工程,选择AndroidTools->Add Native Support,然后设置库文件的名字

(4)在MainActivity中写我们用到的导出函数,如下所示。我用了两个方法,helloFromJni和Add,并将结果添加到View中。重要的部分是下面的native函数声明,以及loadLibrary导入库文件的声明,实际的库文件名为libNDKTest.so

package com.example.ndktest; import android.app.Activity; import android.os.Bundle; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); layout.setOrientation(1); TextView textView = new TextView(this); textView.setText(helloFromJni()); layout.addView(textView); EditText editText = new EditText(this); editText.setText(String.valueOf(Add(2, 3))); layout.addView(editText); setContentView(layout); } public native String helloFromJni(); public native float Add(float x, float y); static { System.loadLibrary("NDKTest"); } }

 

(5)在新产生的jni目录中打开cpp文件,写下自己的C++代码,这里比较简单,直接导出两个方法。注意的是,必须包含jni.h文件,函数至少有两个默认参数。

#include <jni.h> extern "C" jstring Java_com_example_ndktest_MainActivity_helloFromJni(JNIEnv *env, jobject thiz) { return env->NewStringUTF("Hello From Jni"); } extern "C" jfloat Java_com_example_ndktest_MainActivity_Add(JNIEnv *env, jobject thiz, jfloat x, jfloat y) { return x + y; }

 

你可能感兴趣的:(NDK)