配置NDK

由于Android运行的手机配置千差万别,所以在配置较低的手机上运行某些程序可能会运行不了,其原因有可能就是因为配置太低。由于Android采用的是Java编程,是一种虚拟机的机制,所以其运行效率上会很有影响,通常较好的做法是,如果遇到刷屏或者操作网络层的数据,而且数据交换频繁的情况下,建议使用底层的C或者C++来完成费时的动作。所以这就涉及到Java与C的相互调用。

Java是不能直接调用C写的dll, 或者exe代码或者库文件。需要使用到NDK进行中间转换。 NDK的安装请参考我转载的另一篇文章,我是参考那篇文章配置好NDK的。

1。NDK安装好后, 把写的.c文件拷贝过来,新建一个jni文件夹,然后把.c文件放在这个文件夹下,

2。启动cygwin程序,然后cd到这个jni文件夹,输入命令$NDK/ndk-build命令后,命令成功后,会生成一个libs文件夹,并把生成的so文件放置在里面。程序中再把这个libs文件夹加入进来,与jni同级.

3。在.java代码中调用这个.c中的函数。 如使用:_textview.setText( stringFromJNI() ); 就可以使用了。这样就完成了在java中调用.c代码。


但在Eclipse中看这个.c文件是属于不识别状态,那是因为没有安装C/C++的环境插件:CDT,按照我转载的另一篇文章讲如何 NDK的文章中有提到,安装完这个CDT后,再次打开Eclipse可以看到,这个.c文件是可以并查看并可以被修改。但是如果修改后想进行重新编译这个.c文件,还是需要用NDK的命令,重新生成.so文件,然后在代码中进行调用。

注意查看这个.c文件中的函数名,如:Java_com_example_hellojni_HelloJNI_stringFromJNI ();

其中:Java在前面是必须的,然后跟的是使用这个方法的那个包名com.example.hellojni;然后是当前项目名称HelloJNI, 然后才是具体的函数名。在Android中调用这个方法使用stringFromJNI()来进行调用.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值