使用R7版NDK搭建Android开发环境[不使用Cgywin]

  1. 云栖社区>
  2. 博客>
  3. 正文

使用R7版NDK搭建Android开发环境[不使用Cgywin]

shy丶gril 2016-05-19 17:05:33 浏览944
展开阅读全文

废话不多说,只说几句。

写这个的初衷是因为公司的项目需要,领导要求我搭建一个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

作者:码瘾少年·麒麟子 
出处:http://www.cnblogs.com/geniusalex/ 
蛮牛专栏:麒麟子 
简介:09年入行,喜欢游戏和编程,对3D游戏和引擎尤其感兴趣。 
版权声明:本文版权归作者和博客园共有,欢迎转载。转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/geniusalex/archive/2013/01/13/2858784.html

网友评论

登录后评论
0/500
评论
shy丶gril
+ 关注