android-eclipse-jni-入门之小白教程
来源:互联网 发布:php重庆招聘贴吧 编辑:程序博客网 时间:2024/05/17 23:05
首先,大神勿喷。有错的地方,请多多指教。
一.简介:
JNI(java native interface) java本地接口。用于java与操作系统本地代码互调的功能接口。
二.环境安装:
1.安装JDK,并配置环境变量
2.安装NDK,并配置环境变量
3.安装eclipse。
三.所需知识
熟悉Java、C/C++。
四.在eclipse中实现步骤
1.创建一个android projection工程。
2.写一个Native.java和MAinActivity.java。
3.进入win命令窗口,切换到你的工作空间目录。输入 javah –classpath bin\classes [ –d jni ] [ -jni ]包名.类名
Javah -----用于生成.h头文件
-classpath -----用于指定类的路径
-d -----用于指定输出的目录
配置好了JDK环境后,可自行输入javah查询用法。
例:javah -classpath -bin\classes -d jni com.example.testjni.Native.java
4. 创建一个C/C++类,将生成的.h文件中的原型函数复制到C/C++类中。写自己的方法实现。
例:原型函数JNIEXPORT jstring JNICALLJava_com_example_hellojni_MainActivity_getString
(JNIEnv *, jobject, jstring);
1)其中JNIEXPORT与 JNICALL这两个宏(被定义在jni.h);确保它在本地库对外可见,并且c/c++编译器能正常调用。
2)JNIEnv接口指针,指向一个个函数表。函数表中的每一个入口指向一个JNI函数。
3)第二个参数根据本地方法是静态方法还是实例方法。若为静态方法时,代表为本地方法的所在类;若为实例方法时,代表本地方法对应类的对象。
5.写一个Android.mk文件
例:
LOCAL_PATH:=$(call my-dir)
include$(CLEAR_VARS)
LOCAL_MODULE:=NativeJni
LOCAL_SRC_FILES:=C类名.c C++类名.cpp
include$(BUILD_SHARED_LIBRARY)
6.进入命令窗口:输入ndk-build会自动生成相应的lib***.so文件。
在eclipse中 默认生成在obj\local\armeabi\lib***.so
到这里,基本就完成啦。最后就是你自己怎么去调用你自己写的native 方法。
- android-eclipse-jni-入门之小白教程
- Android Jni开发之eclipse中NDK部署教程
- Android之jni入门
- Android之JNI开发入门
- eclipse下android JNI开发小实例
- Android Studio开发Jni教程-入门篇
- 【JNI】 Android JNI入门实例(Windows+Cygwin+Eclipse)
- JNI入门小例子
- android JNI开发之HelloWorld(eclipse+ndk_r9d)
- Android JNI开发入门之二
- Android JNI开发入门之二
- Android JNI开发入门之二
- Android JNI开发入门之二
- Android JNI开发入门之二
- Android NDK入门之Hello Jni
- Android JNI开发入门之二
- Android JNI开发入门之二
- Android JNI开发入门之二
- Quagga安装过程记录
- 对机器学习与数据竞赛的一些总结
- 统计学习精要 (Elements of Statistical Learning ) 习题 2.1
- 设计模式,设计原则
- visitor-acceptor访问者设计模式笔记
- android-eclipse-jni-入门之小白教程
- gdi+绘制文字问题,透明度问题
- Elasticsearch 5.X下JAVA API使用指南
- Android UI奇葩问题之Button字母默认大写
- 自旋锁与互斥锁
- 美化input文件上传按钮
- collectd 编译所有模块
- [Mapbox GL]点击标志改变地图视图中心
- python 中的参数魔法