文档章节

【jni 编程】—— NDK环境搭建

刘小米_思聪
 刘小米_思聪
发布于 2014/09/10 09:43
字数 403
阅读 758
收藏 1

    在《站在巨人的肩膀上,谈app的创新性》一文中 http://my.oschina.net/liusicong/blog/311971,我提到过构建app技术壁垒的必要性。在构建技术壁垒时,我们往往需要调用许多库函数,例如:图像处理的库函数,音频处理的库函数。我们发现一个有效可行的方案就是使用NDK工具来交叉调用C++函数。

    我习惯于把我搜到的数篇帖子中特别好的帖子的地址附在问题后,这也是一种资源整合,面向想要入门学习android的java和c++交叉调用技能的读者盆友。

    本文将分两部分来介绍如何在android下使用NDK实现c++开发:NDK环境的搭建,调用C++函数。

一. NDK环境搭建

1. 下载,解压 android-ndk-r5c-windows.zip 

2. Cygwin 安装,同时参考以下两个教程

    图文教程:http://wenku.baidu.com/link?url=JW5SDYlQAeGBWGm_gber3QJ3bGvIfaIElEpj1btc4WOmLuYSVqC7HjgDX4QKpbZp6yXSnXgGrOucpc_dnvwIpPiD-Saj_IlTcX_izN-npUu

    图文教程:http://blog.csdn.net/pengchua/article/details/7582949

3. 配置 NDK builder,将NDK与你的项目关联起来

     图文教程 : http://blog.sina.com.cn/s/blog_87479ba60100x6uk.html

     注:location是你的NDK_build.cmd的位置,例如我的是“ D:\AnZhuangBao\android-ndk-r10\NDK_build.cmd”

二. 调用c++函数

    JNI提供了若干API,实现了java与其他语言的通信,主要是c/c++。JNI允许Java代码使用以其它语言(譬如 C 和 C++)编写的代码和代码库。对应eclipse中项目的 /jni 目录下。

    有一个很全的JNI开发入门教程:http://www.open-open.com/lib/view/open1359700820369.html


© 著作权归作者所有

刘小米_思聪
粉丝 58
博文 60
码字总数 43955
作品 0
西安
其他
私信 提问
Android开发--NDK之环境搭建

android 中为什么实用NDK,网上一搜一大堆,在这原因不在赘述。 在Android SDK首次发布时,Google就宣称其虚拟机Dalvik是支持JNI编程方式的;也就是第三方的应用是可以调用自己公司的或者是其...

墨宇hz
2016/07/11
0
0
NDK开发笔记—ndk环境安装及其搭建

ndk环境安装及其搭建 软件下载 链接:pan.baidu.com/s/1cev9FK 密码:7yab 当然其他版本的也可以,建议不要用最新的 注意:执行Javah的时候生成头文件是对Java文件所生成的.class进行处理的命...

codeGoogle
2017/09/26
0
0
Ubuntu下android学习——(1)开发环境的搭建

强调:你使用的是ubuntu,不是windows,你学习的是Android开发,不是怎么配环境 一、Android简介 Android是基于Linux内核的软件平台和操作系统。 Android构架主要由3部分组成,linux内核层,...

OrionBox
2012/07/21
985
1
Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程)

转载博文:http://blog.csdn.net/sttyytw/article/details/17005263 用来学习 参考博文: http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html http://www.cnblogs.com/lhming/......

钓伯乐
2018/06/26
0
0
每周总结20130814——Android NDK环境的搭建和使用,YUV420SP格式图像的处理

Windows下搭建Android NDK开发环境 更新:比较新的版本的Android NDK都自带基本的GNU工具链,所以不用安装庞大的cygwin或者MSYS了,直接解压NDK然后在Eclipse里配置编译器就可以了。 ————...

Pupa
2013/08/14
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
1K
12
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
22
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
16
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
25
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部