1、首先创建一个工程,jnitest里面的类叫jnitest.java

publicclassjnitestextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//System.out.println("hello:"+hello());}static{//加载库文件System.loadLibrary("testJni");}//声明原生函数参数为String类型返回类型为StringprivatenativeStringhello();}

2、编译一下,(为了生成class文件)

3、利用DOS切换到该工程目录下面,执行javah -classpath bin/classes -d jni com.example.jnitest.jnitest

生成头文件用的

4、会看到在工程目录下面有个jni的文件夹,里面会有头文件

5、创建一个.c文件:testJni.c(方法的名字要注意)

#include<string.h>#include<jni.h>jstringJava_com_example_jnitest_jnitest_hello(JNIEnv*env,jobjectthiz){return(*env)->NewStringUTF(env,"123");}

6、从cygwin的目录中的samples下的hello-jni里的jni里的Android.mk拷贝一份到所建的工程里的jni目录中,这样工程的jni文件夹下面就有3个文件了.h文件、.c文件、.mk文件

7、打开cygwin的命令行,切换到该工程的目录下面

8、执行$ $NDK/ndk-build

9、会在工程的libs目录下面生成.so文件

10、执行以下之前的java类吧

更多相关文章

  1. Android四大组件之activity之间带数据跳转
  2. 编译Irrlicht On Android(1)
  3. android repo/git server 建立过程
  4. Android抓包方法
  5. Android(安卓)Widget开发
  6. Android—将Bitmap图片保存到SD卡目录下或者指定目录
  7. Android之应用中执行Linux命令
  8. 初学Android,数据存储之SD卡文件浏览器(四十四)
  9. android读取raw下面的文件

随机推荐

  1. 第25章、OnTouchListener触摸事件(从零开
  2. Android界面与交互设计原则(Android Desig
  3. Android 软键盘弹出时布局位置改变
  4. Android 模块化编程之引用本地的aar
  5. 为android电源键添加重启项
  6. Android数据绑定Data Binding初体验
  7. Android XML解析器的问题
  8. android view的xml属性
  9. Android不同分辨率适配
  10. android窗口管理剖析