文档章节

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

SuShine
 SuShine
发布于 2015/06/25 15:27
字数 1023
阅读 2
收藏 0
点赞 0
评论 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
粉丝 119
博文 452
码字总数 126400
作品 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
命令行下编译 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 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
cisco的路由器上rip的被动接口,单播更新,水平分隔

cisco的路由器上rip的被动接口,单播更新,水平分隔 实验拓扑图 在这个配置中要注意一点,在给r1,r7和r8的e0/0接口配置ip地址的时候,需要把他们全部调做全双工模式。 sw1(config)#int f0/1...

Jesse峰
06/26
0
0
ARM寄存器介绍

ARM处理器共有37个寄存器。其中包括: 31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。 6个状态寄存器,这些寄存器都是32位寄存器,但是目前只是用其中的12位。 ARM处理...

幸福阶梯
02/14
2
0
android -- NDK 编译环境搭建

android -- NDK 编译环境搭建 Android NDK 是运行于Android 平台上的Native Development Kit 的缩写,通过通过NDK 调用C 或C++ 本地代码。为了能够在 eclipse 上直接编译C++、JAVA代码,解决编...

长平狐
2012/08/28
3.3K
0
【高级】华为设备部署运营商网络架构-ISIS+BGP+IPv6理论及配置实战

1.实验拓扑 使用ENSP模拟器(版本v100R002C001.2.00.350) 2.实验需求 1) 通过ISIS将AS内部的直连和环回口路由宣告 2) 通过配置BGP协议将所有的用户业务路由宣告 3) 通过配置路由反射器实现市...

Y.weisheng
06/26
0
0
HXSN邮件服务器升级技术方案书

第1章 邮件升级策略 本章覆盖了升级计划的制定及升级到Domino 8需要考虑的问题。Domino体系结构有很多种可能的变化,每一种变化需要考虑的因素可能都不一样。本章不涉及与某个具体设计相关的...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
24分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
39分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
145
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部