关于ndk jni网上的介绍很多,其实我了解这个主要是因为自己是做嵌入式的,一则是对C语音有感情  二则是知道jni  可以绕过framework 框架直接操作硬件抽象层。

1、概述

对于ndk, jni的理解,我是比较肤浅含糊的。我就这么理解把,JNI是Java Native Interface的缩写,中文为JAVA本地调用。可以调用本地的c、c++。而ndk就是谷歌提供的实现jni的包,开发环境了。说起来比较抽象就是NDK 是真实存在的要去下载的,和SDK一样。而jni就是一种java 本地调用技术。管他呢?就是那么回事,目的就是为了使用c/c++  提高代码效率  或者绕过framework 操作hal层 或  kernel层。

2、环境搭建

windows  linux 两个都试了下。参考了很多网上的材料,总结出来就是windows的安装方式比较麻烦,前前后后,有好几种版本。低版本要模拟Linux环境,高版本不要。比较麻烦,我个人比较偏向Linux下的ndk搭建,我也相信纯Linux的环境比模拟出来的效果好。

2.1、 windows 现在安装应该是不用在装cygin了 参考:

http://blog.csdn.net/leilu2008/article/details/12495273

个人感觉,最后处理上直接把错误删除了,是不是有点问题。c++库是不是没指定的原因。

note: 谷歌给的adtbunlder是集成 adt cdt 的所以也省去了安装cdt的步骤。

2.2、 Linux版本下搭建ndk环境

步骤比较简单

参考:http://blog.csdn.net/yxz329130952/article/details/7429124

如果在jni的 c++文件里提示错误<instream>  cout 都不能解析

sudo 
apt-get  install build-essential 安装gcc g++ 编译器 C++库。

还提示<instream>警告

把gcc
卸载了重新装一边。重复了几次就行了。

android ndk jni 环境搭建的更多相关文章

  1. android NDK开发环境搭建

    android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...

  2. Android Studio Jni 环境搭建

    第一步:NDK环境搭建,点击下图红色框区域查看NDK下载和环境配置 安照正常情况是很慢的或者无法下载成功的,这个时候可以去下载NDK压缩包进行解压.下面给出两个下载地址 (1)官网:http://we ...

  3. android NDK 开发环境搭建

    基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发环 ...

  4. [cocos2d-x3.0]Android+NDK+Eclipse环境搭建及编译步骤~

    1: 必要准备 1): jdk&jre 2): adt-bundle 3): android ndk r9 4): python2.7 5): cocos2d-x 3.0 alpha0 2: ...

  5. android Jni NDK开发环境搭建及其简单实例的编写

    android  Jni  NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...

  6. Android下NDK开发环境搭建

    Android下NDK开发环境搭建 1.     AndroidNDK安装与配置 1.1  NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP部 ...

  7. Windows下搭建Android NDK开发环境及命令行编译

    首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...

  8. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

  9. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

随机推荐

  1. DOM常见属性及用法

    1:innerHTML.outerHTML.innerText.outerText innerHTML: 设置或获取位于对象起始和结束标签内的HTML. outerHTML: 设置或获取对象及其内容的 ...

  2. Oracle中字段的修改操作语法

      对字段操作 操作方法 更新字段名 alter table TABLE_NAME rename column column_old to column_new; 添加字段 alter table T ...

  3. Android_CodeWiki_03

    1.发送不重复的通知(Notification) public static void sendNotification(Context context, String title, String m ...

  4. Gesture(手势)浅析

    1.Gesture的作用 ①在触摸屏上的连续触摸行为,形成某个方向上的移动趋势  (利用手势检测) ②连续画出一个不规则的行为  (利用增加手势) 2.手势检测(GestureDetector) // ...

  5. Delphi下创建异形窗体

    procedure TForm1.FormCreate(Sender: TObject);var  pt: array [0 .. 4] of TPoint;  m_rgn: HRGN;begin   ...

  6. 关于Qt的灵异错误

    今天用Qt编写了一个小程序,在运行的时候会报如下错误: ******SgAppenderImpl::SetImeSdkVer_begin ******SgAppenderImpl::SetImeSdk ...

  7. JavaScript单线程

    首先浏览器的js引擎是单线程的,执行一个耗时操作必定阻碍线程后续代码的执行(比如等待网络请求的响应).一些语言采用了开一个子线程并把耗时操作放到子线程去执行的办法解决了这个问题.js引擎本身不支持多线 ...

  8. ListView实现上拉下拉刷新加载功能

    第一步.首先在你项目中创建一个包存放支持下拉刷新和上拉加载的类:

  9. Openlayers 自定义控件

    OpenLayers.Control.YourControl = OpenLayers.Class(OpenLayers.Control, { // may private properties he ...

  10. poj3122--二分加贪心

    大致题意: 就是公平地分披萨pie 我生日,买了n个pie,找来f个朋友,那么总人数共f+1人 每个pie都是高为1的圆柱体,输入这n个pie的每一个尺寸(半径),如果要公平地把pie分给每一个人(就 ...