【转】windows下 ADT NDK开发环境配置
前提:
下载好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");
}
from:https://blog.csdn.net/danfengw/article/details/51844728
【转】windows下 ADT NDK开发环境配置的更多相关文章
- Windows 下 Django/python 开发环境配置
1.安装 Aptana/Eclipse Aptana是在eclipse上二次开发的一个开源的集成开发环境,内置python编译器 http://www.aptana.com/ 2. 安装python ...
- Windows下GO的开发环境配置
本文主要内容如下几点: 下载安装GO 配置多个工作区,第一个默认放第三方包,其他的放项目代码 包管理器godep的安装使用 安装过程中的一些坑(墙) vscode中使用go 1. 下载并安装go 官网 ...
- Windows 下Node.js开发环境配置
第一步:安装VirtualBox(以管理员身份安装) 1.安装完成后,打开VirtualBox,点击“新建”按钮,输入信息,“下一步”(名称可任意) 2.设置内存为1024MB,“下一步”—>“ ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- [转载]在Windows下搭建Android开发环境
http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 在Windows下搭建Android开发环境 | 浏览:30780 | 更 ...
- Windows下Ionic Android开发环境搭建
转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ioni ...
- windows下python web开发环境的搭建
windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.pyth ...
- Windows下C,C++开发环境搭建指南
Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...
- Windows下搭建Git开发环境
Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...
随机推荐
- linux 通过MD5监控指定路径文件的变动
脚本须知: 1. 运行此脚本的用户必须是root,因为在某些文件所在路径普通用户没有访问权限 2. 源文件和其md5码只要有一方内容有改动,都会导致校验失败,所以校验码的保存就至关重要防止其他人修改, ...
- TCP/IP和HTTP协议与Socket的区别联系
参考资料: http://www.cnblogs.com/goodcandle/archive/2005/12/10/socket.html http://www.2cto.com/net/20121 ...
- python3.5爬虫框架Scrapy的安装和排错(windows环境)
本文记录win7系统下使用python3.5安装Scrapy爬虫框架. Scrapy框架目前的官方文档说明是还不支持windows的python3环境的,但是网友反映以及实际测试均可以使用,下面就进行 ...
- Lindström–Gessel–Viennot lemma 应用两则
对于一张无边权的DAG图,给定n个起点和对应的n个终点,这n条不相交路径的方案数为 det() (该矩阵的行列式) 其中e(a,b)为图上a到b的方案数 codeforces 348D [给定一张n* ...
- 使用springboot 2.0后,静态资源默认路径无法访问
原因在于:META-INF/resources / resources / static / public 都是spring boot 认为静态资源应该放置的位置,会自动去寻找静态资源 然而,在2.0 ...
- python中mp3转wav(Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work")
1.下载pydub:pip install pydub 2.下载与操作系统一致的ffmpeg:http://ffmpeg.org/download.html 3.解压后将下载的ffmpeg下的bin目 ...
- protobuf3 语法解析
定义一个消息类型 先来看一个非常简单的例子.假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串.你感兴趣的查询结果所在的页数,以及每一页多少条查询结果.可以采用如下的方式来定义消息类 ...
- ORACLE普通表转换成分区表
转http://mp.weixin.qq.com/s?__biz=MzAwMjkyMjEwNg==&mid=2247484761&idx=1&sn=ce080581145931 ...
- tiny4412 解决内核编译版本号问题
内核版本: linux-3.5开发板: tiny4412作者:彭东林邮箱:pengdonglin137@163.com 问题: 由于我使用 git 管理内核代码,导致编译完成后内核版本变成了如下形式: ...
- 【spring boot】7.静态资源和拦截器处理 以及继承WebMvcConfigurerAdapter类进行更多自定义配置
开头是鸡蛋,后面全靠编!!! ======================================================== 1.默认静态资源映射路径以及优先顺序 Spring B ...