windows下 ADT NDK开发环境配置

本文档详细介绍了在Windows上配置Eclipse ADT NDK开发环境的步骤,包括下载NDK,设置NDK路径,创建Android应用项目,添加本地支持,创建Java文件并添加native方法,配置C/C++编译环境,编译生成.h文件,实现C/C++代码,创建Android.mk文件,解决编译错误,最后在本地使用生成的SO库。
摘要由CSDN通过智能技术生成

前提:
下载好Ecplise ADT并配置好开发环境,不会配置环境可以参考这里:
http://blog.csdn.net/danfengw/article/details/47111107
步骤:
1、下载ndk并解压(这个比较多了,可以参考这个网址的地址(http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html),下载比较方便,这里下载r9d是因为r9d版本比较稳定)地址:
2、创建Android Application项目:
工具栏:window——preference——Android——NDK,设置NDK路径
这里写图片描述
3、右击项目:Android Tools ——》Add Native Support输入,将要生成的so库名称,设置完成后点击项目refresh(刷新或者F5),此生会生成jni目录(这里截图不太准确,一般是跟项目名一样的,我这里是JNITests.so,JNITests在后面的loadLibrary中也将使用)
这里写图片描述
4、在项目中创建java文件,添加native方法
这里写图片描述
5、添加c、c++的path
添加两个路径,分别是:
(1)D:\software\NDK\android-ndk-r9d-windows-x86_64\android-ndk-r9d\toolchains\mipsel-linux-android-4.8\prebuilt\windows-x86_64\lib\gcc\mipsel-linux-android\4.8\include
(2)D:\software\NDK\android-ndk-r9d-windows-x86_64\android-ndk-r9d\platforms\android-18\arch-arm\usr\include
这里写图片描述
6、编译产生.h文件
参考下面这篇博客的方案二进行配置
http://blog.csdn.net/danfengw/article/details/52944591
右击项目——》preference——》resource——》location,复制路径。

7、刷新项目(右键项目,refresh)。可以看到产生的.h文件,打开.h文件,复制选中代码。在C\C++文件中进行具体实现。
这里写图片描述

8、在jni目录下new一个sourcefile的,创建.c文件,这里的代码是从下载的ndk中samples中的hello-jni这个demo中复制的代码(可以提前将这个hello-jni这个demo在ec中打开)
这里写图片描述
另外还需要将hello-jni中的jni目录下的Application.mk复制到该工程的jni目录下,或者你也可以自己创建一个Application.mk文件。将Android.mk中LOCAL_SRC_FILES改为c文件,如下:
这里写图片描述
9、这时候你会发现项目会报错,此时选择c/c++再点击小锤子样式的编译器,就可以编译通过了,如图
这里写图片描述
10、最后在本地使用so库
loadlibrary的名字跟生成的so库名字相同
这里写图片描述
11、ndk-build +run application
这里写图片描述
12、备注:
LOCAL_MODULE := JNITests(so文件名,不加lib)
LOCAL_SRC_FILES := JNITests.c(编译和调用的文件)
13、总结:
主要步骤
(1)本地编写native方法
(2)javah命令编译 .h文件
(3)打开.h文件复制方法名,创建c或者cpp文件,将方法名复制到c或cpp文件中并进行具体实现。
(4)修改Android.mk进行ndk编译之后生成so文件,在本地方法中loadLibrary调用

static {
        System.loadLibrary("JNITests");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值