zoukankan      html  css  js  c++  java
  • 【Android學習專題】搭建Android NDK环境


    【Android學習專題】搭建Android NDK环境

    SkySeraph Feb 16th 2012  SZ

    Email:skyseraph00@163.com 



    NDK:Native Development Kit

    【Android学习专题】搭建Android开发环境 


    Windows XP环境下

    1 一些下载

    NDK r7:http://developer.android.com/sdk/ndk/index.html
    cygwin:http://www.cygwin.com/  (1.7.11-1)
    notepad++:http://notepad-plus-plus.org/download/v5.9.8.html


    2 cygwin安装

    运行下载的setup.exe,点Next
    选择安装方式。选择在线安装,如果有现成离线包时,可选择离线安装
    选择安装目录(Cygwin最终的安装目录)
    设置本地包暂存路径(下载文件存放目录)
    设置网络连接方式:默认直接连接
    选择下载站点。这个速度比较快http://mirrors.163.com
    选择安装项。在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install),其它均为默认状态。
      注:binutils、gcc、gcc-mingw、gdb、make等必装,详见Refs-5
    漫长等待,直到下载完成
      注:下载完后的包可以备份下,以便以后可以直接离线安装,速度快哦!
    为系统添加环境变量(系统属性->环境变量->Path),如我的为C:/cygwin/bin


    3 cygwin环境验证

    运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件
    检测
    cygwin的版本:cygcheck -c cygwin
    gcc的版本:gcc --version
    g++的版本:g++ --version
    make的版本:make --version
    gdb的版本:gdb --version
    结果如下图:


    4 配置NDK路径

    将下载的NDK解压缩到某个目录
    zai cygwin的 home\<你的用户名>\.bash_profile 文件中最后添加:(可用notepad++或者UltraEdit打开)
      NDK=/cygdrive/<你的盘符>/<android ndk 目录> export NDK,
      如我的为 NDK=/cygdrive/C/Android/android-ndk-r7 export NDK
      注:"NDK"这个名字随便起,以后经常用别太长
    验证
    重启cygwin,输入:cd $NDK
    可进入ndk对应目录说明设置OK。


    5 编译工程生成.so文件

    方式一:
    在cygwin命令行下编译,编译过程如下图所示,三步骤


    进入android项目工作目录:cd $NDK
    依次进入samples\hello-jni目录,完整路径为C:\Android\android-ndk-r7\samples\hello-jni
    运行:$NDK/ndk-build。
    注意:该命令$NDK和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$NDK/ndk-build,不要只打ndk-build


    方式二:
    在步骤4提到的.bash_profile 文件中,加入jni=/cygdrive/jni的目录
    如我的可以为 jni=/cygdrive/C/Android/android-ndk-r7/samples/hello-jni
    cd $NDK
    cd $jni

    正常编译编译后生成两个文件,如下图,在项目libs/armeabi目录下生成对应的.so文件。


    6 在eclipse中集成c/c++开发环境(备选)

    官网: http://www.eclipse.org/cdt/downloads.php
    方式一:在官网找到与你的Eclipse版本匹配的CDT插件的在线安装地址,然后在Eclipse的Install New Software安装
    方式二:在官网下载与你的Eclipse版本匹配的CDT安装包,解压缩后把plugins和feagures 复制覆盖到eclipse文件夹下即可


    7 配置C/C++的编译器

    。。。


    8 常见错误及解决方法

    问题:Android NDK: Host 'awk' tool is outdated,如下图所示错误,本人遇到的问题

    解决:删除awk执行文件
    参考: http://sunting-bcwl.iteye.com/blog/1278574
              http://maidini.blog.163.com/blog/static/3776270420111195059911/ 
    错将Cygwin Terminal 当作 Cygwin.bat,这个问题困扰了我将近一个小时啊!!!
    其它网上问题 http://bbs.chinavideo.org/viewthread.php?tid=10821&extra=page%3D2
     


    Ubuntu11.10环境下(待更新...)

     


    Refs

    1 http://blog.csdn.net/javatiger427/article/details/6115693
    2 http://maidini.blog.163.com/blog/static/3776270420111194440211/
    3 http://www.cnblogs.com/luxiaofeng54/archive/2011/08/13/2136982.html
    4 http://www.metsky.com/archives/525.html
    5 http://www.cnblogs.com/playing/archive/2011/07/14/2106727.html


    作者:skyseraph
    出处:http://www.cnblogs.com/skyseraph/
    更多精彩请直接访问SkySeraph个人站点:http://skyseraph.com//
    Email/GTalk: zgzhaobo@gmail.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Arrays工具类、二维数组
    Idea软件的使用
    循环语句
    方法
    objective-C 2.0
    Unix系统常用命令
    文献管理工具Zotero
    如何降低论文重复率
    SQL易忽视的细节
    数据库系统原理学习资源
  • 原文地址:https://www.cnblogs.com/skyseraph/p/2400567.html
Copyright © 2011-2022 走看看