Android_10_java调用C(借助NDK工具自动生成.so)
2015-10-26 22:46
435 查看
第一步:
添加NDK到Esclipse工具中,具体操作如下:
Windows -----> Preferences -----> Android -----> NDK
然后添加你的NDK路径即可,例如:
![](https://img-blog.csdn.net/20151026225015751)
注:最后别忘了点OK哈!
第二步:
点击你的项目右键 ------> Android Tools ------> Add Native Suport....
![](https://img-blog.csdn.net/20151026225328963)
填写你要生成的库的名字
Finish之后可以看到在你的libs目录下自动生成了jni文件,如:
![](https://img-blog.csdn.net/20151026225643364)
第三步:
将jni目录下的hello.c修改为hello.c ,与此同时,
将jni目录下的Android.mk中,将LOCAL_SRC_FILES := hello.cpp修改为LOCAL_SRC_FILES := hello.c
第四步:
编写java和C代码
注:
在编写C代码时,可以将jni.h的文件与其在C代码中声明的头文件jni.h关联起来,
这样方面我们在C代码时查看jni的相关信息,具体操作如下:
右键单击工程项目 ------> Properities ------> C/C++ General ------> Paths and Symbols ------> Add -------> File system.....
把include文件夹添加进来,这样我们就可以追踪相关jni的代码了
第五步:
在java代码中添加如下内容:
第六步:
直接运行java工程
添加NDK到Esclipse工具中,具体操作如下:
Windows -----> Preferences -----> Android -----> NDK
然后添加你的NDK路径即可,例如:
注:最后别忘了点OK哈!
第二步:
点击你的项目右键 ------> Android Tools ------> Add Native Suport....
填写你要生成的库的名字
Finish之后可以看到在你的libs目录下自动生成了jni文件,如:
第三步:
将jni目录下的hello.c修改为hello.c ,与此同时,
将jni目录下的Android.mk中,将LOCAL_SRC_FILES := hello.cpp修改为LOCAL_SRC_FILES := hello.c
第四步:
编写java和C代码
注:
在编写C代码时,可以将jni.h的文件与其在C代码中声明的头文件jni.h关联起来,
这样方面我们在C代码时查看jni的相关信息,具体操作如下:
右键单击工程项目 ------> Properities ------> C/C++ General ------> Paths and Symbols ------> Add -------> File system.....
把include文件夹添加进来,这样我们就可以追踪相关jni的代码了
第五步:
在java代码中添加如下内容:
static{ //加载打包完毕的so类库 System.loadLibrary("hello"); }尽管现在的.so类库还未生成,但是其在运行时会自动生成,省去了我们通过命令行让其去生成的步骤
第六步:
直接运行java工程
相关文章推荐
- androidGMS认证之Camera support cross profile image capture
- Android SurfaceFlinger and its' client
- Android权限声明
- 安卓第一次实验解析
- Android中Bitmap,byte[],Drawable,InputStream相互转化工具类
- Android ffmpeg+librtmp+speex交叉编译
- Android_10_javah命令
- Android控件之RadioGroup、RadioButton
- 我的Android进阶之旅------>android中service的onStartCommand()方法中intent为null的问题
- android消息推送
- Android上面通过URL来启动本地应用
- android studio使用发布者证书调试
- Android中measure过程、view绘制原理和MeasureSpec介绍及使用详解
- 【FastDev4Android框架开发】Android崩溃异常捕捉CustomCrash,提升用户体验(五)
- Android获取控件大小的方法
- [Android应用开发] 05.广播和服务
- 安卓开发技术:监听软键盘的显示与隐藏
- 手机开发-Android
- android的控件详解autoCompleteContextTextView和MultiAutoCompleteContextTextView
- Android 理解生命周期最好例子—按home暂停音乐播放,跳转暂停