文档章节

R7 NDK环境搭建 同样适用于R8版

SuShine
 SuShine
发布于 2015/06/25 15:27
字数 1023
阅读 2
收藏 0

废话不多说,只说几句。

  写这个的初衷是因为公司的项目需要,领导要求我搭建一个Android的开发环境(Eclipse + NDK),我算上找资料,下载,安装,配置环境及写文档,正好用了一个工作日。先把整理好的文档编辑后发在这里,一是因为我觉得这样会帮到一些人,二么,好久没写博客,手痒痒了!

  好了,现在开始!

 

—————————————————分割线———————————————

安装流程

1. 安装JDK.

2. 安装Eclipse(eclipse-cpp-indigo-SR1-incubation-win32.zip,解压即可使用。注:该版本集成CDT)

3. 搭建Android开发环境(参考文档:http://developer.android.com/sdk/installing.html

  3.1  安装Android SDK(installer_r16-windows)

  3.2  安装Eclipse的ADT插件.

           3.2.1  启动Eclipse, 选择菜单项的Help->Install New Software

           3.2.2  点击Add, 输入名称,然后在URL中输入:

                     http://dl-ssl.google.com/android/eclipse/,OK!

           3.2.3  选择需要更新的工具,Finish, 安装完成后重启Eclipse。

3.3  配置ADT插件

       3.3.1  启动Eclipse,选择菜单项的Window -> Preferences

       3.3.2  选择Android,在SDK Location中选择SDK的安装目录,OK!

完成后重新启动Eclipse。

       3.4  添加平台和其他组件

              3.4.1  启动Eclipse,选择菜单项的Window -> Android SDK Manager

              3.4.2  根据实际需要选择相应组件,然后点击install。

                       默认可安装以下组件,如图一所示:

 

                                                                (图一)

              3.4.3  创建一个Android 虚拟设备。选择菜单项的Window ->AVD Manager.

              New ,新建一个虚拟设备,具体参数请自行设置。如图二所示:

4. 安装NDK(R7, android-ndk-r7b-windows.zip, 解压即可使用)

注:R7之前的版本,必须要安装Cygwin才能使用NDK。从R7开始,Windows版本的NDK提供了一个ndk-build.cmd脚本,可以直接利用这个脚本编译。想要做到这一点,只要为Eclipse Android工程添加一个Builder,就能实现Eclipse的自动编译NDK。

 

            (图二)

5.  NDK实例的实现

5.1   启动Eclipse,新建Android工程(此处名为TestNDK),如图三所示:

 

                                              (图三)

5.2  在TestNDK工程的根目录下新建文件夹jni,之后找到NDK的安装目录(\samples\hello-jni\jni)下的 Android.mk和hello-jni.c 这两个文件,将其拷贝到TestNDK->jni文件夹下面。

5.3   找到NDK的安装目录(\samples\hello-jni\src\com\example\hellojni)下的HelloJni.java文件,将其拷贝到TestNDK工程src文件夹对应的包下。

5.4  修改项目文件AndroidManifest.xml,将activity标签下的 android:name =“.TestNDKActivity”修改为 android:name =“.HelloJni”。(注:此处的

TestNDKACtivity为项目自动生成的,项目不同,此处也会不同)  

5.5   新建并配置一个Builder

5.5.1        点击Project->Properties->Builders->New,新建立一个Builder。在弹出的对话框上面点击Program,OK!如图四所示:

 

                                                     (图四)

5.5.2       在弹出的对话框【Edit Configuration】中,配置选项卡【Main】:

Location中需要填入nkd-build.cmd的路径(NDK安装目录下)。

Working Diretcoty中需要填入TestNDK的工程根目录。

如图五所示:

5.5.3      在弹出的对话框【Edit Configuration】中,配置选项卡【Refresh】:

勾选“Refresh resources upon completion”,

勾选“The entire workspace”,

勾选“Recuresively include sub-folders”。

 

                                                         (图五)

5.5.4       在弹出的对话框【Edit Configuration】中,配置选项卡【Build Options】:

勾选“After a “Clean””,

勾选“During manual builds”,

勾选“During auto builds”,

勾选“Specify working set of relevant resources”。

点击“Specify Resources…”勾选TestNDK工程的“jni“目录 ,Finish!

保存设置,OK!

5.5.5       右键点击工程TestNDK,Build Project。当在console里面看到如图六所示的信息,则表示一切正常,此时就已经是自动编译代码了。

 

                  (图六)

5.5.6      右键点击工程TestNDK,Run As -> Android Application, 运行程序。当出

现图七所示信息时,NDK实例运行成功!

 

                   (图七)                                 

6.   可能出现的问题 

      如图八所示:

 

                               (图八)

在 c 文件中,函数名这样定义:

Java_testNDK_android_HelloJni_stringFromJNI ,是因为这个是 JNI 的标准,定义需要按照如下格式:

       Java_packagename_classname_methodname ,

       例如: Java_testNDK_android_HelloJni_stringFromJNI

 

—————————————————分割线—————————————————

 

由于本人水平有限,所写文字肯定会有不妥之处,欢迎牛人指出答疑,我就在此抛砖引玉了,谢谢~

 

欢迎转载,转载请注明转自:http://www.cnblogs.com/xiaomiao

分类:  NDK

本文转载自:http://blog.csdn.net/sfshine/article/details/8650327

共有 人打赏支持
SuShine
粉丝 123
博文 491
码字总数 141753
作品 0
朝阳
后端工程师
命令行下编译 HelloJni

1)启动 Cygwin 进入 NDK目录 2)执行 ndk-build 生成 so 文件,过程如下: Administrator@PC-201111101325 ~ $ cd $NDK Administrator@PC-201111101325 /cygdrive/d/android-ndk-r7 $ cd sa......

长平狐
2012/08/29
237
0
android 的NDK在Windwos环境搭建(一)

上一篇是android NDK在ubuntu10.04环境搭建,这次是windows的! NDK的Windwos环境搭建Eclipse版本是3.6以上的 一、下载android NDK您可以下载NDK r4 for Windows或NDK r5 for Windows安装包,...

雨焰
2013/03/20
0
0
android 最新 NDK r8 在window下开发环境搭建

android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来...

lxp198837
2014/04/23
0
0
【高级】思科设备部署电信运营商城域网架构及配置实战

实验拓扑: GNS3 0.8.6 + c3725-adventerprisek9-mz.124-15.T5 实验要求: 1. 通过ISIS协议将AS内部的直连和环回口路由宣告。 2.通过配置IBGP协议建立邻居将所有的用户业务路由(大客户和PPP...

Y.weisheng
2014/12/05
0
0
RS485收发的3种典型电路-重点-自动收发电路

三种常用电路如下: 1、基本的RS485电路 上图是最基本的RS485电路,R/D为低电平时,发送禁止,接收有效,R/D为高电平时,则发送有效,接收截止。上拉电阻R7和下拉电阻R8,用于保证无连接的SP4...

u012351051
2017/04/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驰狼课堂

http://www.chilangedu.com/

求是科技
24分钟前
0
0
jumpserver 报错"Incorrect string value

申明 本文所有内容参考自jumpserver记录命令无法入库问题 #1773 简介 jumpserver 1.4.0在jumpserver.log中大量报错,错误日志 File "/opt/jumpserver/apps/terminal/api.py", line 246, i...

zhnxin
30分钟前
2
0
用户管理相关配置文件及命令

9月19日任务 2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 扩展知识 实用小工具 简单命令行下实现Linux/Windows文件互传 前提:使用远程工具Xsh...

robertt15
49分钟前
0
0
presto 架构

presto 介绍 是Facebook开源的,完全基于内存的并⾏计算,分布式SQL交互式查询引擎 是一种Massively parallel processing (MPP)架构,多个节点管道式执⾏ ⽀持任意数据源(通过扩展式Connect...

张欢19933
49分钟前
0
0
Ajax技术应用

1. 相关概述 1. ajax:即异步js与xml,可以实现客户端与服务端之间数据的异步交互。对于普通的B/S 模式是采用的同步方式,即一次请求必须等待一次服务器响应完成,而异步则是客户端发送请求后...

江左煤郎
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部