下载的NDK里面有hello-jni程序,那么我们就按照这个模板自己创建一遍
1、创建一个Android程序
按向导来就ok
2、add native support
右键项目,选Android Tools -> add native support 如图
注意,这边的命名一般为你的项目名,如果你想更改,那么后面load的时候也得用这个名字
创建完成后就多了一个jni文件夹和里面的几个文件
3、完善Activity
最重要的是load和声明一个native方法
4、使用javah生成头文件
这边你也可以自己在jni中自己写,但是考虑到命名容易出错,推荐使用javah工具
打开命令行,cd到项目文件夹
运行 javah 包名.需要生成的头文件的源文件或者class文件
这边注意,我实现的时候用的指令是这样的
javah classpath . com.example.jnitest.MainActivity
这边可能会遇到很多问题,这边记录一下我遇到的
最好带完整路径
*********************************
不要带后缀.class
****************************
目标类文件是找到了,但是库文件是找不到,这边只能到src下去javah了
********************************
看我的指令可以发现路径前面多了一个点号
注意:网上有说在bin文件夹下生成,但是我尝试都会报android.app.Activity找不到错误,所以我都是在src文件夹做的
生成之后把头文件移动到jni文件夹下面,然后可以根据需要改名
5、为头文件创建实现文件(.c或者.cpp文件)
复制头文件的声明,然后在c/cpp文件后给出实现
注意 必须在Android.mk文件中声明
否则会报错
最后编译运行就ok啦
附上工程 点击打开链接