android -------- 我创建的第一个 NDKDmeo 案例

时间:2024-01-15 20:18:38

前面的NDK是弄的官方的,自己弄了一下,弄让他运行起来,今天来简单的写一个。

我是在Eclipse中开发的,创建一个NDKDemo项目,然后如下图:

在项目上–>右键–>Android Tools –>Add SuportLibrary   填入JNI名称

android -------- 我创建的第一个 NDKDmeo 案例

填写名称

android -------- 我创建的第一个 NDKDmeo 案例

在工程中会自动生成jni文件夹,有**.cpp和Android.mk文件

android -------- 我创建的第一个 NDKDmeo 案例

编写cpp文件(网上找的一段代码)

#include <jni.h>
#include <stdio.h>
#include <string.h>
extern "C" { JNIEXPORT jstring JNICALL Java_com_zhangqie_ndk_MainActivity_getString(JNIEnv* env, jobject obj)
{
return env->NewStringUTF("zhangqie"); } }

Activity代码

public class MainActivity extends Activity {

    /*
* 声明一个native方法
* 这个方法在Java中是没有实现的, 没有方法体
* 该方法需要使用C语言编写
*/
public static native String getString(); //静态代码块加载C语言库文件
static{
System.loadLibrary("zq");
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println(getString());
} public void btnJni(View v){
Toast.makeText(getApplicationContext(), getString(), 1).show();
} }

运行程序

android -------- 我创建的第一个 NDKDmeo 案例