ubuntu下jni的简单使用,使用ndk
2015-08-06 11:39
357 查看
1.下载安装ndk
http://developer.android.com/ndk/downloads/index.html
下载linux64位,赋予执行权限sudo chmoe 755 android-ndk-r10e-x86_64.bin
解压./android-ndk-r10e-x86_64.bin
配置环境变量:
vim ~/.bashrc
添加如下
#ndk
export NDK_HOME=/home/zhyang/Documents/android-ndk-r10e/
export PATH=$PATH:$NDK_HOME
更新,source ~/.bashrc
输入ndk-build看下,没有command not found就行
2.打开eclipse新建android工程TestJNI,添加以下代码
3.编译一下,或者直接运行生成.class文件
4.cd到工程根目录下,执行下面这句生成头文件
-d指定头文件的输出目录 -classpath指定.class类文件路径,com那串指定类名
cd 到jni下可以看到生成了.h文件
网上的很多-classpath指定的路径是bin/classes会报错,找不到com.android.testjni.MainActivity这个类,换成src就没问题了
5.根据上面的头文件编写对应的.c文件
vim testjni.c
6.编写Android.mk文件
7.cd 到工程根目录ndk-build
就会在libs/armeabi下生成libtestjni.so
8.接下来调用试试
成功
额外的福利:
有个问题,岂不是我们每次修改.c文件都得重新手动生成.so文件,这个方法可以让eclipse帮我们完成
右键TestJNI工程,properties,builder,new,program,设置如下
切换到refresh标签,再设置如下
最后一个build options标签,也如下:
再点击上图中的specfy resource按钮勾选上你的工程
finish ok ok
在控制台可以看到
完成!
http://developer.android.com/ndk/downloads/index.html
下载linux64位,赋予执行权限sudo chmoe 755 android-ndk-r10e-x86_64.bin
解压./android-ndk-r10e-x86_64.bin
配置环境变量:
vim ~/.bashrc
添加如下
#ndk
export NDK_HOME=/home/zhyang/Documents/android-ndk-r10e/
export PATH=$PATH:$NDK_HOME
更新,source ~/.bashrc
输入ndk-build看下,没有command not found就行
2.打开eclipse新建android工程TestJNI,添加以下代码
3.编译一下,或者直接运行生成.class文件
4.cd到工程根目录下,执行下面这句生成头文件
-d指定头文件的输出目录 -classpath指定.class类文件路径,com那串指定类名
cd 到jni下可以看到生成了.h文件
网上的很多-classpath指定的路径是bin/classes会报错,找不到com.android.testjni.MainActivity这个类,换成src就没问题了
5.根据上面的头文件编写对应的.c文件
vim testjni.c
6.编写Android.mk文件
7.cd 到工程根目录ndk-build
就会在libs/armeabi下生成libtestjni.so
8.接下来调用试试
成功
额外的福利:
有个问题,岂不是我们每次修改.c文件都得重新手动生成.so文件,这个方法可以让eclipse帮我们完成
右键TestJNI工程,properties,builder,new,program,设置如下
切换到refresh标签,再设置如下
最后一个build options标签,也如下:
再点击上图中的specfy resource按钮勾选上你的工程
finish ok ok
在控制台可以看到
完成!
相关文章推荐
- 检测网络是否可用
- 线性回归与逻辑斯谛回归(from Linear regression to logistic regression)
- zoj 2734 Exchange Cards
- zoj3299 Fall the Brick
- 如何查看ubuntu的内核版本和发行版本号?
- nmap 缺少module 'citrixxml'以及citrixxml.lua的修补
- Linux启动过程总结
- 深度搜索(2)
- 迷宫问题
- Ubuntu下VirtualBox虚拟机与主机机互相ping通的简单配置心得
- Windows10 如何会成为微软的新起点?
- define和inline关键字比较
- python游戏:兔子与獾
- Activity间的数据传递
- Job found still running after platform shutdown. Jobs should be canceled by the plugin that sched
- eclipse一闪而过 启动失败
- x86 处理器开机顺序
- JAVA基础篇四(Java,C++中的数组)
- 指针数组
- no project are available for deployment to this server&n