• NDK开发笔记(一) NDK的安装


    话说西元2012年,曾经的霸主Nokia,Moto皇权渐微,以Apple,Google为代表的后起权贵揭竿而起。乱世之中水镜先生振臂高呼:“Android,ios”得一者得天下。在这个“将相王侯宁有种乎”的年代,贫道毅然弃道从戎,在Android旗帜的指引下,投身到了轰轰烈烈的伟大时代中。

    在号称后白求恩时代最伟大的国际主义战士Eclipse的帮助下,贫道迅速的开发完了一个Android程序。但正印了那句话,前途是光明的,道路是曲折的。贫道发现当程序在频繁的操作大规模数组时,效率直线下降,简直和自慰国的GDP增长率有得一拼。顿时贫道陷入了深深的沉思中。

    这时一只草泥马走了过来,在旁边安详地吃起了草来。话说瑞兽之处必有异宝,贫道立马在祥瑞驻足之处发掘起来。苍天不负有心人,果然一本质朴的古本出现在了眼前,只见上面写着弯弯曲曲的蝌蚪文“NDK”。翻开第一页,上面详细说明了,Android利用JNI可以直接绕过VM,直接调用Native Code(比如C,C++)开发的模块。这些模块直接运行在系统上,而不是VM上,大大加快了运行速度,提高了程序的效率。而NDK正好似易筋经,教你如何通过Nactive Code,打通程序的任督二脉贯穿VM加快程序运行。

    工欲善其事,必先利其器。我们要先将NDK环境搭建好,就跟泡妞一样,做好准备很重要,你懂的。

    首先,我先介绍下我的开发所需要的东西,

    操作系统,win95的第六代传人WIN8 ,其他的Windows版本也可以,没有硬性的要求。

    开发环境,Eclipse,如何把Android SDK整合到Eclipse,请参见此篇文章Android开发之旅:环境搭建及HelloWorld 

    Andriod JNI开发工具, NDK,众道友们可以从此处下载http://developer.android.com/tools/sdk/ndk/index.html

    安装步骤非常简单,

    1. 从http://developer.android.com/tools/sdk/ndk/index.html网页,下载android-ndk-r8c-windows.zip,就是NDK的windwos版本。

    2. 解压android-ndk-r8c-windows.zip,解压后你会发现一个android-ndk-r8b-windows新目录,在目录里还套着一个android-ndk-r8b。

    3.将android-ndk-r8b目录,拷贝到你指定的目录。为了方便起见,贫道把它放在了D:根目录下,同时为了看着顺眼,把android-ndk-r8b改名叫android-ndk。因此我的NDK目录就是d:\android-ndk(详见图1)。

    图1

    4.从http://www.cygwin.cn/site/install/网页,下载并安装Cygwin,在本文中把他安装到D:\cygwin目录。

    5. 为了输入NDK命令行和编译底层模块更方便,我们可以把NDK安装目录(本例中就是d:\android-ndk)和Cygwin的执行目录(本例中是D:\cygwin\bin)放到系统环境变量中,这样我们输命令的时候就不必再输入安装目录了,同时Eclipse也能自动编译底层模块(详见图2)。

    图2

    6. 点击菜单项中的Help,然后选择其中的Install new softwares选项,弹出Install 对话框,选择先前安装的adt插件(整合Android sdk到Eclipse的插件),选中NDK plugins(详见图3)。

    图3

    7.下载完后,点击菜单项中的Windows,然后选择其中的Preference选项,在弹出的对话框中,展开对话框左面一栏中的Android项,可以看到NDK这一项,右边则有个叫NDK Location的输入框,填入NDK的安装目录。这样NDK就能自动嵌入到Android工程中了(详见图4)。

    图4

    设置完毕。安装就是这么简单,只要你有超过吕布的智商,动动你的鼠标就可以轻松完成。比起那些传说中的武林秘籍,动不动就需要狗屎般的运气和百年难得一见的根骨,NDK真正做到了以人为本,顾客就是上帝的宗旨,实乃居家必备之良品。

    装完NDK后,贫道迫不及待地翻到了第二页,此时天空乌云密布,一丝不祥的预感涌上心头。一道闪电划过,只见上面写着欲练此功.......

    欲知后事如何,请听下回分解。

  • 相关阅读:
    TypeScript 源码详细解读(3)词法2-标记解析
    TypeScript 源码详细解读(2)词法1-字符处理
    TypeScript 源码详细解读(1)总览
    7年编程语言设计精华总结——写给想创造或正在创造一门新编程语言的同学
    我为什么开发新语言
    CLR值类型和引用类型
    运行时内存模型
    IronPython之基本类型
    .NET 应用程序域?
    .NET程序如何启动?
  • 原文地址:https://www.cnblogs.com/andreitang/p/NDK.html
Copyright © 2020-2023  润新知