您的位置:首页 > 移动开发 > Android开发

Android项目JNI开发

2017-05-07 20:35 134 查看
关于NDK开发,从年前下决定学习,用了半年时间自学了下C语言,刚刚把C语言入门书籍看完,就打算实践下JNI.大致步骤网上都有,不再重复,主要是介绍下碰到的坑。

1、首先是生成头文件的坑:

明确生成头文件,依赖的是.class文件,即编译后的java文件,所以必须在java项目路径的bin文件目录下(用的Eclipse),进行javah的操作,否则不能生成头文件。

2、在visualstudio中进行C文件编写:

因为我是在window环境下,所以需要生成dll文件,如果是linux,就需要生成.so文件。

: A. 用visualstudio新建一个win32位项目,在选择界面注意选择DLL文件–空项目。

: B:因为我的电脑是64位的,所以必须先将该项目设置成64位的,如何将visualstudio项目配置为支持64的,请百度。

: C:将第一步中的头文件,拷贝到该项目中,并完成C代码的编写,其中使用到了一些Jni的string或者int float的转换的函数,百度即可。

:D:因为默认的visualstudio是不带jni的头文件,所以必须将jdk中的jni.h拷贝到visualstudio中来,具体拷贝步骤请百度。

:E:一切完成后,点击visualstudio的生成解决方案按钮,就会在输出栏看到生成的.dll文件。

3、将第二步骤的.dll文件拷贝到java项目在eclipse文件列表的项目根目录即可。调用的方法没有坑,百度即可。

还有一个坑:如果声明的函数和编写的函数名字不一致(一般是粗心,或者拷贝网上的代码所致),eclispse运行时会报如下错Unstaticlinked: +调用的方法名。

上述都是容易碰到的坑,让我多花了几个小时时间,希望看到的朋友,不会入坑。哈哈哈哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: