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: +调用的方法名。
上述都是容易碰到的坑,让我多花了几个小时时间,希望看到的朋友,不会入坑。哈哈哈哈哈
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: +调用的方法名。
上述都是容易碰到的坑,让我多花了几个小时时间,希望看到的朋友,不会入坑。哈哈哈哈哈
相关文章推荐
- Android-项目开发基础—JNI与底层调用(十三)
- JNI NDK (AndroidStudio+CMake )开发第一个项目的流程
- Android NDK开发 Android JNI项目创建
- 关于eclipse开发android项目时javah生成jni找不到类文件
- Android jni开发-2(在旧项目上添加支持cmake编译的jni)
- Android-NDK开发之基础--Android JNI实例代码(二)-- 获取/设置类的域或者说属性字段
- Android JNI开发高级篇
- Android 开发之旅:HelloWorld项目的目录结构
- [原创]Android 基于NDK的JNI开发 C调用java和java调用C的进阶教程
- Android开发之旅:HelloWorld项目的目录结构
- Android app项目和开发总结(初稿)
- Android JNI开发进阶篇
- Android开发之旅:HelloWorld项目的目录结构
- Android JNI开发进阶篇
- 用Eclipse开发Android项目(转)
- Android应用开发实战-移动终端团购网项目开发(送源代码)
- Android JNI开发入门篇
- Android项目开发技术总结 by wellsoho
- 郁闷的 android 项目开发
- Android项目开发技术总结 by wellsoho