NDK与Cygwin配置

2023-11-12

1、Android 开发环境搭建
Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。
下载 JDK
下载 Eclipse
下载 Android SDK
启动Eclipse , 安装 ADT
2、下载安装Android NDK
我使用的NDK版本为r5
Google 出的最新NDK 为 r6 下载地址为
3、下载安装cygwin
     由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。
(安装的时候忘记截图了)
首先,你得先跑到 http://www.cygwin.com下载setup.exe
1、 然后双击运行吧,运行后你将看到安装向导界面:
2、 点击下一步
     此时让你选择安装方式:
           1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
           2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
           3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
3、选择第一项,然后点击下一步( 或者选择第三项,就不用从网络下载):
4、选择要安装的目录 (注意,安装目录不能有中文和空格,会造成安装出问题),其它选项不用变,之后点下一步:
5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:
6、此时你共有三种连接方式选择:
     1) Direct Connection:直接连接。
     2) Use IE5 Settings:使用IE的连接参数设置进行连接。
     3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
          用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后               再点击“下一步”,
7、 这是选择要下载的站点,我用的是 http://mirrors.kernel.org,速度感觉还挺快,选择后点下一步
8、 此时会下载加载安装包列表
9、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包
10、 然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。
11、 下面测试一下cygwin是不是已经安装好了。
      运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状       态,如果status是ok的话,则cygwin运行正常。
      然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!
4、配置NDK环境变量
1、 首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:E:\cygwin\home\Administrator\.bash_profile,(注意:我安装的时候我的home文件夹下面神马都没有,两个解决的办法: 解决办法一、打开cygwin的安装目录中的Cygwin.bat,会自动在home目录创建用户文件夹Administrator;解决办法二、首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:\cygwin\home文件夹下建立名为Administrator的文件夹(是用户名),然后把E:\cygwin\etc\skel\.bash_profile拷贝到该文件夹下)。
2、 打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录> ,然后export。
例如:
NDK=/cygdrive/e/android-ndk-r5
export NDK
NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存。
3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。
5、用NDK来编译程序 
1、 现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\android-ndk-r5\samples\hello-jni(根据你具体的安装位置而定),
2、 运行cygwin,输入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到E:\android-ndk-r5\samples\hello-jni目录。
3、 输入$NDK/ndk-build(前面的$NDK可以省略),执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)
4、 此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

注:如果执行$NDK/ndk-build出现/ndk-build: No such file or directory错误的话,请查看cygwin\bin下面是否有make.exe,如果没有的话,重新点击setup文件,然后【Select Packages】页面中点击【View】,然后再Search中输入make,找到make的安装包,再点击下一步安装就OK了。


http://blog.csdn.net/android_panda/article/details/7607946


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NDK与Cygwin配置 的相关文章

随机推荐

  • STM32系统时钟频率更改

    注 此文仅作为个人学习记录 海创学习记录 图0 手册时钟图 stm32的系统时钟频率在驱动文件中一般情况下是被固定的 系统频率有几种 分别为24MHz 36MHz 48MHz 56MHz 72MHz 一般情况下 md s 默认设置为72MH
  • Android最佳实践——深入浅出WebSocket协议

    转自 https blog csdn net sbsujjbcy article details 52839540 首先明确一下概念 WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议 概念强调了两点内容 TCP基础上 全
  • 树莓派+多个微雪电子Serial Expansion HAT扩展板叠加方法(扩展多个IO口、串口)

    微雪电子官方教程仅介绍了单层扩展板配置方法 因此本文参考官方教程的基础上 进行多个扩展板的叠加配置 文章目录 一 打开I2C接口 二 安装库 三 生成设备 四 堆叠教程 五 扩展IO口配置 总结 一 打开I2C接口 在终端执行 sudo r
  • Lyapunov稳定性分析1(正定函数、二次型正定判定)

    一 正定函数 1 1 定义 令V x 是向量x的标量函数 S是x空间包含原点的封闭有限区域 如果对于S中的所有x 都有 则V x 是正定的 半正定 正定函数更直观的描述如下图所示 如果条件 3 中不等式的符号反向 则称V x 是负定的 负半
  • 拼多多产品怎么引流?拼多多商品怎么引更多的流量?

    说到拼多多引流技巧 对于有资源的商家来说可能没有什么难事 而对于一些刚刚入手这个行业的商家来说未尝不是一种借鉴 博傲电商今天分享几点 首先是说下直通车引流 这个方法简单粗暴 看上去只要烧钱投放广告 流量都可以进来 是一个效果比较好的方法 但
  • android内存管理 面试题,Android面试题内存&性能篇

    Android面试题内存 性能篇 由本人整理汇总 后续将继续推出系列篇 如果喜欢请持续关注和推荐 内存分配 RAM random access memory 随机存取存储器 说白了就是内存 一般Java在内存分配时会涉及到以下区域 寄存器
  • DNS 协议是什么?完整查询过程?为什么选择使用 UDP 协议发起 DNS 查询?

    你可能了解 DNS 协议是什么 那你了解 DNS 完整查询过程是什么吗 它底层是基于 TCP 还是 UDP 喃 TCP 与 UDP 又各自负责 DNS 的哪些部分喃 引言 本文从以下几个方面循序渐进走进 DNS 协议 它的完整查询过程以及底
  • 数据结构---堆----C语言实现

    目录 堆排序介绍 功能介绍 功能实现 公式 功能合并 这里添加另一种方法 只用到了向下调整法就可排序 源码1 源码2 堆排序介绍 堆排序 Heapsort 是指利用堆这种数据结构所设计的一种排序算法 是一个近似完全二叉树的结构 并同时满足堆
  • Android中协调布局CoordinatorLayout的使用

    Android自5 0之后对UI做了较大的提升 一个重大的改进是推出了MaterialDesign库 而该库的基础即为协调布局CoordinatorLayout 几乎所有的design控件都依赖于该布局 今天我们就学习一下Coordinat
  • 程序分析 clang系列学习 (二)

    clang静态检测 clang API AST匹配部分 UseAfterMoveCheck 问题概述 示例 代码 AST CFG 检测步骤 算法大致流程 代码 这里 我主要通过clang API实现自定义的代码检测工具 采用的方式类似于cl
  • 非线性弹簧摆的仿真(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文模拟非线性弹簧摆 弹簧运动和摆锤运动的
  • html dom动态添加id,JavaScript/DOM - 给新创建的元素添加ID

    如何通过JavaScript DOM将元素ID应用于新创建的元素 JavaScript DOM 给新创建的元素添加ID 我写的代码创建了一个由按钮触发的表 我需要为此表应用一个唯一的ID 因此它可以与我的网站上出现的其他人的样式不同 这里是
  • 计算机操作系统之期末考试复习——进程的基本状态及转换

    进程的基本状态 就绪状态 Ready 进程已处于准备好运行的状态 即进程已分配到除CPU以外的所有必要资源后 只要获得CPU 便可立即执行 执行状态 Running 进程以获得CPU 其程序正在执行的状态 阻塞状态 Block 正在执行的进
  • Python调用海康威视网络相机之——python调用海康威视C++的SDK

    运行环境 Win10系统 64位 Anaconda3 python 3 5 5 基于anaconda环境 opencv 3 4 2 早前就已经安装了 本文不会讲如何安装 Visual Studio 2015 硬件 DS 2CD3T56DWD
  • 记录qt窗口在拖动过程中出现的问题

    问题描述 在窗口拖动的过程中刚开始可以流畅的拖动窗口 但是一小会儿之后出现窗口拖不动的现象 或者按下鼠标在拖动区域内可以流畅拖动 但是按下鼠标朝一个方向拖动后 释放鼠标 按照此操作操作几次后 出现窗口拖不动的情况 但是过一会儿后窗口又可以被
  • 使用Python批量将EXCEL转为CSV文件

    今天遇到一个批量将100多个EXCEL 且每个excel中有多个sheet页 转为CSV文件的需求 同事使用wps右键逐个拆分 效率实在太慢 网上查了一下 使用pandas库中的to csv 方法可以解决这个问题 下面这段代码可以批量处理e
  • hadoop join之map side join

    在本例中 我们仍然采用上一例中的数据文件 之所以存在reduce side join 是因为在map阶段不能获取所有需要的join字段 即 同一个key对应的字段可能位于不同map中 Reduce side join是非常低效的 因为shu
  • 前端向后台传值的方式及相关注解

    文章目录 传参方式 QueryString传参 访问路径传参 form表单传参 ajax方式进行JSON传参 常用注解 RequestBody RequestParam 为前端提供接口 需要对传参方式有所熟悉 以下有几种常用的传参方式和常见
  • 连接vc显示服务器无法解释客户端请,vc服务器和客户端配置

    vc服务器和客户端配置 内容精选 换一换 当出现以下问题时 可以参考本章节排查解决 可以直接访问后端业务 但是无法通过负载均衡访问后端业务 通过私网IP可以访问负载均衡 但是公网IP无法访问负载均衡 后端服务器健康检查异常 客户端通过负载均
  • NDK与Cygwin配置

    1 Android 开发环境搭建 Android开发环境搭建不是重点 相信看此文章的很多人都已经搭建成功 这里随便概述性的说说 下载 JDK 下载 Eclipse 下载 Android SDK 启动Eclipse 安装 ADT 2 下载安装