zoukankan      html  css  js  c++  java
  • 【转】Windows环境下Android NDK环境搭建

    原文网址:http://www.metsky.com/archives/525.html

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备、接口、驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识。本文就介绍一下NDK环境搭建及基础编程思想。

    本文演示环境:Windows 7+Cygwin+NDK r4。

    基础阅读:

    Windows下Android开发环境搭建和配置

    Android开发入门之环境概念介绍

    Ubuntu下NDK环境搭建方法:Ubuntu下NDK环境搭建

    一、下载android NDK

    您可以下载NDK r4  for Windows或NDK r5  for Windows安装包,下载地址:

    地址:http://developer.android.com/sdk/ndk/index.html

    下载后解压缩到你的工作目录,例如:E:Androiddevelop,结果如下图:

    Android NDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等内容。samples下面包含几个实例开发演示项目,第一次接触NDK开发,建议先从示例开始。下面先看一下编译环境配置。

    二、下载Cygwin

    由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,下载地址:

    http://www.cygwin.com/

    下载后是个setup.exe文件,使用过程如下:

    第一步:运行setup程序,第一步图略,直接点击Next进入下一步。

    第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。

    第三步:选择安装目录,比如C:Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。

     

    第四步:设置本地包暂存路径

    暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式。

    第五步:设置网络连接方式

     

    第六步:选择下载站点地址

    起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。

    第七步:等待加载安装项载入,选择安装项

    我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。

    第八步:等待下载完成

    下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。

    提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。

    三、验证Cygwin环境

    安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:

    make -v

    和,

    gcc -v

    如果检测成功,会有make和gcc相关版本信息打印出来,如下图。

    四、配置NDK路径设置

    可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home<你的用户名>.bash_profile 文件中最后添加环境变量

    NDK=/cygdrive/e/Andriod/develop/android-ndk-r4

    export NDK

    改为

    export PATH=$PATH:$NDK

    其中NDK=/cygdrive/<你的盘符>/<android ndk 目录> ,"NDK"这个名字随便起,以后经常用不要太长。

    重启cygwin,输入:

    cd $NDK

    可进入ndk对应目录说明设置OK。

    五、编译演示工程

    现在就可以编译相关NDK工程了(一些用c/c++写的程序),编译方法如下:

    1、在cygwin命令行下,进入android项目工作目录:

    cd $NDK

    2、依次进入sampleshello-jni目录,(完整路径示例: E:Andrioddevelopandroid-ndk-r4sampleshello-jni)

    3、运行

    $NDK/ndk-build

    注意:该命令$NDK和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$NDK/ndk-build,不要只打ndk-build。

    4、正常编译完成后会在你的项目libs/armeabi目录下生成对应的 .so文件。

    六、导入静态目标库到Android项目

    编译完成后会得到*.so静态目标库后,就可以导入工程环境Eclipse Android项目中使用,注意,NDK编程并非一定要把这个目标库导入Android项目使用,除了本步骤描述的使用方法之外,还有Android源码直接修改、编译,然后烧录到测试机的开发方式,那样可以实现应用程序默认安装、权限开机提升等等更“彻底”的功能。综合一下:

    本步骤演示属于NDK目标库+Andriod APK样式,此外还有Android源码直接开发、直接编译方式(确切一点已经淡化Android所谓的工程概念了,当然源码开发目前似乎还无法直接在Windows下进行,好像必须使用Linux家族系统进行,天缘稍后文章会有所涉及)

    使用方法如下(示例):

    1、在Eclipse中新建一个工程HelloJni,HelloJni.java中的代码可参考NDK对应 sample下的演示代码(android-ndk-r4sampleshello-jni estssrccomexample HelloJni)调用方法。

    2、将NDK编译项目目录下的jni和libs文件夹拷贝到新建工程目录下

    注意这两个文件夹要和工程中的src和res文件在同一目录下。然后进入Eclipse中刷新工程(会看到多出两个文件夹)。

    3、运行Eclipse项目,就可以在虚拟机上看到hello-jni.c函数中输出字符串。

    4、后续您可以试着修改库源程序或项目JAVA程序来熟悉NDK整个开发过程。

  • 相关阅读:
    【软件工程】软件测试目标定义 黑盒测试、白盒测试
    【计算机网络】互联网的组成(客户服务器、对等连接、电路交换、分组交换)
    【计算机网络】互联网概述
    文本域的宽度和高度应该用cols和rows来控制,还是 用width和height来控制
    javascript代码片段
    IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
    检测IE浏览器方法
    Sublime Text 必备插件
    浅谈Javascript 中几种克隆(clone)方式
    JavaScript instanceof 运算符深入剖析
  • 原文地址:https://www.cnblogs.com/wi100sh/p/4299250.html
Copyright © 2011-2022 走看看