(需要使用NDK工具编译生成.so文件,所以请先下载NDK,

附地址: http://wear.techbrood.com/tools/sdk/ndk/index.html ,请选择对应平台下载)


一、编写APP时,使用:

static {

System.loadLibrary("native库名,一般为C/C++文件名");

}


二、声明native方法,如:

public native String getJNIString();


三、编译一次


四、进入APP源码src文件夹,在终端执行指令:

   javah 包名.类名

  (例如 :javah com.example.jnidemo.JNITest)

执行后,src目录下会生成.h结尾的头文件。文件内容已自行生成,主要包含了步骤二中声明的native方法在JNI下的对应函数名,如:

  jstring JNICALL Java_com_liyd_jnidemo_JNITest_getJNIString (JNIEnv *, jobject);

(此方法即我们源文件要实现的方法)


五、在APP项目根目录下创建jni文件夹,在其中创建C/C++源文件、Android.mk,(此外可选建Application.mk)。

1.源文件中实现步骤二中所述函数。

2.Android.mk有5个必须用到的变量:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    :=
模块名 (,模块名是唯一的,比如:jni-demo

    LOCAL_SRC_FILES := 源文件 (可以有多个,使用空格或Tab来分隔,比如:jni-demo.c  jni-test.c)

include $(BUILD_SHARED_LIBRARY)


六、在linux终端中,进入步骤五中创建的jni文件夹路径下,使用native工具编译,生成.so文件。

直接执行指令(ndk-build是一个ndk中一个脚本文件)为:

     $ndk根目录路径/ndk-build

即可自动生成.so等文件。


七、再次编译APP,顺利运行。


【附上我写的一个极简小demo地址: http://download.csdn.net/detail/u013403478/9590098 】


转载请注明出处:http://blog.csdn.net/u013403478/article/details/52068095


更多相关文章

  1. 简单实现Android文件上传
  2. Android实现简单的电子词典
  3. [转]Android(安卓)中Preferences的使用
  4. android jni 使用流程
  5. Android(安卓)porting (s3c6410)
  6. android简单实例---------SharedPreferences的简单使用与讲解
  7. android shell cp 文件到/system/xxx
  8. Android(安卓)framework 编译常见错误
  9. ubuntu kylin 下的 android 编译

随机推荐

  1. Android(安卓)打印日志封装库
  2. [置顶] Android系统移植与调试之------->
  3. 如何用eclipse编译调试adnroid的Browser
  4. Android(安卓)Permission 中文说明
  5. Android(安卓)WebView和EditText焦点冲突
  6. spinner 样式问题解决
  7. Android(安卓)编译时注解 —— 语法详解
  8. Android电量测试工具battery-historian学
  9. [置顶] android下调试声卡驱动之wm8960介
  10. android opengl 播放 yuv数据