android -------- 我创建的第一个 NDKDmeo 案例
前面的NDK是弄的官方的,自己弄了一下,弄让他运行起来,今天来简单的写一个。
我是在Eclipse中开发的,创建一个NDKDemo项目,然后如下图:
在项目上–>右键–>Android Tools –>Add SuportLibrary 填入JNI名称
填写名称
在工程中会自动生成jni文件夹,有**.cpp和Android.mk文件
编写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(); } }
运行程序