什么场景应用ndk

1.代码的包含,apk的java层代码容易被反编译,c/c++被反编译难度非常大

2.NDK中调用 第三方C/C++库,因为大部分的开源库都是c/c++编写,比如opencv,opengl

3.便于移植,用c/c++写的库可以方便在其他的嵌入式平台上再次利用

交叉编译

一个平台上生成另一个平台上可执行的代码。

JNI

JAVA NATIVE Interface 它允许java代码和其他语言代码进行交互。

nativie层               通过 JNI             与JAVA层进行 通信

JNI作为中转 来作为  native层与JAVA层之间的桥梁

JNI  可以通过 http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html 查询JNI的函数等

或者在ndk路径下  jni.h中 定义了很多函数

以上两个地方作为 ndk函数的 api

ndk的一些概念的更多相关文章

  1. JNI开发(2)——开发实战

    JNI开发(1)--概述.环境搭建.必要知识点 JNI开发(2)--开发实战 本篇是重头戏:JNI实战开发.假设你对于 JNI.NDK 还没概念的话 那么观看本篇 也是没有太大难度的 ,哈哈哈哈! ! ...

  2. Android(java)学习笔记256:JNI之NDK的概念

    1.交叉编译 (1)概念 在一个平台(硬件)和os(软件)环境下,编译出另一种平台和os下可以运行的二进制代码. e.g:     电脑端                               ...

  3. Android(java)学习笔记200:JNI之NDK的概念

    1.交叉编译 (1)概念 在一个平台(硬件)和os(软件)环境下,编译出另一种平台和os下可以运行的二进制代码. e.g:     电脑端                               ...

  4. Android JNI 和 NDK

    1.Android NDK 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  5. 继续研究NDK

    继续研究NDK 我在阿里云服务器上搭建了Android ndk的开发平台,并且借助这一平台研究了NDK的内部细节. NDK提供了Android本地编程的接口,让你可以开发高效的依赖库,提高程序的速度, ...

  6. 【Android 系统开发】Android JNI/NDK (三) 之 JNIEnv 解析

    jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/Android-ndk-r9d/platforms/android-1 ...

  7. Android Studio JNI/NDK 编程简介(一)

    首先说一下概念及相关的东西: JNI : JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).从Java1.1开始 ...

  8. Android开发涉及有点概念&相关知识点(待写)

    前言,承接之前的 IOS开发涉及有点概念&相关知识点,这次归纳的是Android开发相关,好废话不说了.. 先声明下,Android开发涉及概念比IOS杂很多,可能有很多都题不到的.. 首先由 ...

  9. NDK、SDK以及JNI的关系

    最近由于项目的需要,使用到了Android的NDK技术,对项目核心算法跨平台的移植.简答而言,就是使用C对原来的算法进行了改进,并集成到原 来的app项目里. 从前的项目一直没有使用NDK进行开发的机 ...

随机推荐

  1. 【转】NSString属性什么时候用copy,什么时候用strong?

    原文网址:http://www.cocoachina.com/ios/20150512/11805.html 我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境) ...

  2. Java之JUC系列:外部Tools

    前面写了两篇JDBC源码的文章,自己都觉得有点枯燥,先插一段JUC系列的文章来换换胃口,前面有文章大概介绍过JUC包含的东西,JUC体系包含的内容也是非常的多,不是一两句可以说清楚的,我这首先列出将会 ...

  3. centos 编译swoole

    /usr/include/php/ext/pcre/php_pcre.h:45: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ...

  4. gdb Debugging Full Example

    http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html

  5. linux 安装phpMyAdmin

    1. 首先安装 php mysql  nginx 2. 下载phpMyadmin wget  http://sourceforge.net/projects/phpmyadmin/files/phpM ...

  6. 验证码在IE中不刷新

    在IE中,验证码不会刷新而谷歌等其他浏览器没有问题,解决方案就是在验证码的切换地址后面加一个随机的参数 今天在做验证码的时候发现在IE中,验证码不会刷新,而谷歌等其他浏览器没有问题,所以我想到应该是缓 ...

  7. python_Day3[set集合,函数,全局变量之篇]

    一.set集合 1.Set集合特点:无序.不重复,可嵌套 2.set集合创建规则:set = {"123","234"} 字典创建规则:dic = {“Key” ...

  8. mac版photoshop滤镜库报错解法

    http://bbs.pcbeta.com/viewthread-1556878-1-1.html

  9. C++流格式控制符的使用【来自网络】

    注意添加<iomanip>头文件. 使用控制符控制输出格式 控制符 作用 dec 设置整数的基数为10 hex 设置整数的基数为16 oct 设置整数的基数为8 setbase(n) 设置 ...

  10. OpenJudge计算概论-Tomorrow never knows【输入日期计算下一天的日期】

    /*====================================================================== Tomorrow never knows? 总时间限制 ...