Android SDK:android-sdk-mac_86
Android NDK: android-ndk-r4b-darwin-x86
Eclipse
ADT
CDT
ANT
搭建Android SDK开发环境
Android SDK还发环境搭建步骤:
1:Jdk安装,要求1.5以上.一般的Mac OS中已经预装了jdk,我的是jdk 1.6.用"java -version"在terminal可以查看.
2:eclipse IDE安装. 需要去Eclipse官网下载,我下载的是eclipse 3.5.2.解压到合适的路径,不需要编译安装,直接运行目录下的eclipse.app文件就可以启动eclipse.
3:android sdk安装. 到Android.同eclipse一样,只需要解压到合适目录.同时需要将该目录下的tools路径加到PATH中.编辑~/.bash_profile, 添加:PATH=${PATH}:/{your-android-sdk}/tools.
4: 安装Android Developer Tools. 打开Eclipse,点击Help菜单,找到Install New Sofeware,在Add Site中添加一个location为:http://dl-ssl.google.com/android/eclipse/,然后会出现Android DDMS,和Android Development Tools,选择并Install.重启之后可以选择”Eclipse->偏好设置”,然后选择Android项来指定Android SDK的安装目录.如下图所示.

5: 开启terminal,使用"android list targets"发现没有可以sdk target.需要在eclipse的window菜单里面打开 Android SDK And AVD Manager窗口,找到avilable packages,选中相关的packages.如下图所示.

6:等待下载.完成之后可以在Install packages中找到自己已经安装的包.如下图所示.

7:使用"android create avd --name sdk_2_2_version  --target 8",创建avd.创建之后即可在”Virtual Devices”中找到我们已经创建的AVD,如下图所示.

现在可以编写HelloWorld来测试环境了,这里笔者在搭建SDK开发环境时将Eclipse和android sdk都放置在了”/Developer/Android/”目录下,如下图所示.

搭建Android ndk开发环境
从上面的图片大家可以看到,我们实际上也将Android NDK安装到了同一个目录下,NDK的安装很简单,就是将下载的包进行解压到指定位置即可,解压之后我们一般需要配置环境变量,这里我们将环境变量的配置放在最后一起来配置.
设置环境变量
运行命令” pico .bash_profile”来打开或创建.bash_profile文件,然后输入如下图的代码.

安”control+x”退出,并输入”Y”表示确认保存,然后退出(必须退出重新打开才行),其中我们将sdk的tools目录和ndk的安装目录都加入了环境变量,方便我们使用,同时设置了ANDROID_NDK_ROOT和ANDROID_SDK_ROOT目录.
到这里我们就完成了NDK的环境搭建,android ndk r4开始我们并不需要使用” build/host-setup.sh”命令了,接下来我们将介绍如何使用ndk来编译.这里需要注意的是对于ndk提供的例子没有放置在apps目录下面了,而是放置在samples中,为了兼容,同时也支持将项目文件放置在apps目录下面.下面我们来看如何编译,运行和调式.
编译Hello-Jni工程
进入ndk下面的” samples/hello-jni/”目录,然后使用命令” ndk-build”即开始编译,出现如下图所示,则表示成功.如果不成功,可能是环境没有设置正确,请检查并重新设置.

运行Hello-Jni项目
下面我们首先生成apk文件,生成apk文件需要使用ant,由于Mac系统预装了ant所以我们少一步,没有安装的安装一下便可,注意安装之后还是要将ant目录下买了的bin目录加入环境变量才行.
现在使用” cd ../”命令返回hello-jni目录的上一个目录,然后使用” android update project --path hello-jni”命令来更新hello-jni工程,就是生成一个build.xml文件来编译生成apk文件.在更新了工程之后,需要进入工程的根目录,使用cd hello-jni命令即可,下面进入最关键的一步,编译apk文件,使用”ant debug”命令即可,如果出现如图所示,则表示编译成功.

现在你可以在” samples/hello-jni/bin”中找到一个生成的apk文件,现在可以链接手机或者模拟器来进行测试了.
调式Hello-jni工程
在android ndk r4开始我们可以使用gdb来对jni代码进行单步调试了,关于gdb调试我们就不多说了,网上去搜索吧,这里我们看一下如何来调试.
进入” samples/hello-jni/”目录,然后执行”ndk-gdb”命令,这时,你的手机或者模拟器的hello-jni工程是否已经启动了,这时终端也进入了gdb调试界面,如下图所示.,注意要在xml中设置debug为true才能进行调试哦.

在Eclipse中集成NDK开发
因为大多数人在些代码时可能使用的是记事本,,有好的IDE为什么不用呢?那这里我们就使用Eclipse来编写ndk程序,在开始之前我们需要进行一些必要的配置.
1:安装CDT,使得Eclipse具有编辑C++程序的功能.
2:我们推荐大家可以安装anyedit插件 
http://andrei.gmxhome.de/anyedit/下载并导入eclipse中.当然这不是必须的,只是方便我们在Eclipse中编辑各种类型的文件.
3:新建一个ndk的工程,这里我们就使用hello-jni为例来演示即可,就不在单独新建了,将hello-jni导入到Eclipse中.然后按照如下步骤操作:
右击项目,选择“properties”
在左边的列表中选择“Builders”
在右侧,点击“New…”按钮
在列表框,选择“Program”作为配置类型;点击“OK”按钮,进入下一个配置对话框。
命名name为“NDK Builder”
选择Location为“/bin/bash”,如果是windows使用cygwin则填写” c:\cygwin\bin\bash.exe”其中表明cygwin安装于c:\cygwin中,这个路径可以根据自己的情况更改.
 “Working Directory”为“/bin”,同样如果在windows上使用cygwin则填写” c:\cygwin\bin”.
“Arguments”为:
--login -c "cd $ANDROID_NDK_ROOT/samples/hello-jni && ndk-build"
确保在login前有两个连接号,-c后面的引号。 ANDROID_NDK_ROOT为NDK的安装路径….整个界面操作之后如下图所示.

接着打开“refresh”的tab面板:
选中“Refresh resources upon completion”
选择“Specific resources”
点击“Specify resources”按钮,选择你项目的lib目录
选中“Recursively include sub-folders”
操作完成之后如下图所示.

接着打开“Build Options”的tab面板:
选中“Allocate Console”
选中“Launch in background”
选中“Run the builder After a Clean”
选中“Run the builder During manual builds”
选中“Run the builder During auto builds”
选中“Specify working set of relevant resources”
点击“Specify Resources”按钮,选择你项目的JNI目录,并包含所有的文件。
完成之后如下图所示.

点击“OK”按钮。完成配置,这时当我们在Ecisplse中改动一下C++代码,Eclipse都回自动调用ndk来编译,并在控制台输出编译信息,如下图所示.然后自动更新生成的so文件.

这里处理都不是必须的,只是为了我们方便开发而做的.当然为了项目需求可能还会有更好的方法,随着项目的进度,我们会更新一些开发中遇到的问题.先写到这里,谢谢大家支持!
其实要是在ndk中开发opengl es程序也可以直接在windows中使用VC之类的工具先开发,完成之后再用ndk来编译,这样调试就方便多了。

android ndk环境搭建,如果是mac,请先装mac make编译器(可以使用Xcode进行安装)的更多相关文章

  1. 【转】Windows环境下Android NDK环境搭建

    原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...

  2. Android NDK 环境搭建 + 测试例程

    懒得废话一大堆概念,关于ADT.NDK的概念要是你不懂,怎么会搜到这里来?所以你只需要根据下面的步骤来,就可以完成NDK环境搭建了. 步骤:(假设你未安装任何相关开发工具,如果已经安装了,就可以跳过) ...

  3. Windows环境下Android NDK环境搭建

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...

  4. Android NDK 环境搭建 + 测试例程(转)

    懒得废话一大堆概念,关于ADT.NDK的概念要是你不懂,怎么会搜到这里来?所以你只需要根据下面的步骤来,就可以完成NDK环境搭建了. 步骤:(假设你未安装任何相关开发工具,如果已经安装了,就可以跳过) ...

  5. Android NDK环境搭建

    本文主要记录NDK环境在Ubuntu下的搭建. 下载NDK 在官网进行下载NDK https://developer.android.com/ndk/downloads/index.html 当前最新 ...

  6. Android NDK 环境搭建

    使用最新ndk,直接抛弃cygwin,曾经做Android的项目要用到NDK就必需要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配 ...

  7. Android NDK环境搭建及调用JNI的简单步骤

    转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3396595.html Java Native Interface (JNI)标准是java平台的一部分 ...

  8. Android开发环境搭建篇详尽的教程实例汇

    原文链接:http://android.eoe.cn/topic/android_sdk 一.android开发环境搭建图文教程整理篇: 1.Android开发环境搭建全程演示(jdk+eclip+a ...

  9. Android的环境搭建

    尽管以前并没有接触过软件开发.但是,现在网络资源实在是太丰富了.所以网搜了一下,认为Android的环境搭建可分为以下五个步骤来完成.第一步:安装JDK:第二步:配置Windows上JDK的变量环境: ...

随机推荐

  1. Halloween Costumes(区间DP)

    Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he is planning t ...

  2. Web性能压力测试工具——Siege

    最近需要对Istio里的bookinfo进行分析,老是手去刷新太慢了,就找了个自动点的工具——Siege Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一 ...

  3. gridview读取Excel文件中的数据,并将其导入数据库

    原文发布时间为:2008-10-16 -- 来源于本人的百度文章 [由搬家工具导入] //将需要导入的文件上传到服务器           string filePath = "" ...

  4. msp430入门编程46

    msp430中C语言的人机交互--基于状态机菜单

  5. P2839 畅通工程

    P2839 畅通工程 题目描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连, ...

  6. hdu 4971

    记忆花搜索   dp #include <cstdio> #include <cstdlib> #include <cmath> #include <set& ...

  7. 一个动态链接的问题,dlsym后符号调用主函数的符号报告无法找到

    先看看状况(小心头疼) client.c 编译得到 client:在 client 的 main 中用 dlopen( "./liba.so", RTLD_LAZY|RTLD_GL ...

  8. C++ std::tr1::bind使用

    1. 简述 同function函数相似.bind函数相同也能够实现相似于函数指针的功能.但却却比函数指针更加灵活.特别是函数指向类 的非静态成员函数时.std::tr1::function 能够对静态 ...

  9. html5摇一摇代码优化

    首先对DeviceMotionEvent进行优化: 去除没用的代码,又一次封装DeviceMotionEven if(window.DeviceMotionEvent) { var speed = 2 ...

  10. Codeforces div.2 B. The Child and Set

    题目例如以下: B. The Child and Set time limit per test 1 second memory limit per test 256 megabytes input ...