java 调用c ndk_NDK技术,Java项目调用C代码

安装Cygwin

解压android-ndk-r5c-windows.zip

解压cygwin package.rar

Cygwin安装步骤

运行setup.exe,选第三项从本地安装cygwin

e7a9c87cb1af5645c163bdb13b2d826c.png

设置cygwin安装到那里

12c0dbc89bf320c4647e6d9c027b1a59.png

指定安装程序位置

3b1943f825dc198d2be24e25f54e2012.png

选中安装的内容,只选devel就可以了

9eb61df9e5c94916374704e40d449fbb.png

cygwin与Ndk集成

必须用Editplus打开.profile文件,绝对不能用记事本打开

home文件夹不为空

D:\ndk\cygwin\home\username\.bash_profile(username是你登录电脑的用户名) 增加下面两行

NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c(d是ndk-sdk解压后的盘符,后面是ndk所在的路径)

export NDK

home文件夹为空

如果安装后home目录下面是空的,没有.bash_profile文件,到\cygwin\etc\skel\下找到.bash_profile文件增加下面两行

NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c

export NDK

然后拷贝到(C:\Documents andSettings\Administrator),有些win7要拷到c:\users目录下,重启cygwin就可以使用了

如:我的NDK路径为:D:\tarena\1408\program\ndk\android-ndk-r5c-windows\android-ndk-r5c

则:

NDK=/cygdrive/d/tarena/1408/program/ndk/android-ndk-r5c-windows/android-ndk-r5c

测试cygwin与Ndk集成是否成功

双击运行安装后的cygwin 有桌面图标和安装路径下的可执行文件

$ cd $NDK

显示ndk所在文件夹的路径就说明集成成功

编写c代码

在windows资源管理器中找到D:\android-ndk-r5c-windows\android-ndk-r5c\samples\hello-jni\jni\hello-jni.c中查看hello-jni.c ,修改代码

生成.so

$ cd $NDK

[email protected]/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c

$ cd samples

[email protected]/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample

s

$ cd hello-jni

[email protected]/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample

s/hello-jni

$ $NDK/ndk-build

Gdbserver      : [arm-linux-androideabi-4.4.3]libs/armeabi/gdbserver

Gdbsetup       : libs/armeabi/gdb.setup

Compile thumb  : hello-jni <= hello-jni.c

SharedLibrary  : libhello-jni.so

Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

在Andori中使用.so

将libs拷到android项目的根目录中

beef01943e64ec8370e9e8ec4a45a8f2.png

在android类中添加如下代码

4a38d70a781371a765a739be0e3e54c9.png

使用NDK的优点

保护代码

代码重用。

C运行速度快

可手动分配内存,如视频

原文:http://blog.csdn.net/jielysong117/article/details/41983585

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值