什么场景应用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. java_stack

    栈是一种数据结构,它代表只能在某一端进行插入.删除操作的特殊线性表. 栈的最大特点是是后进先出(First In Last Out),对栈的操作主要是入栈和出栈,判断栈是否为空,计算栈的大小. 对栈而 ...

  2. 5分钟实现Android中更换头像功能

    写在前面:更换头像这个功能在用户界面几乎是100%出现的.通过拍摄照片或者调用图库中的图片,并且进行剪裁,来进行头像的设置.功能相关截图如下: 下面我们直接看看完整代码吧: 1 2 3 4 5 6 7 ...

  3. SQL存储过程相关信息查看转

    原文地址:http://www.cnblogs.com/minideas/archive/2009/10/29/1591891.html   --1.查看所有存储过程与函数      exec sp_ ...

  4. ubutntu apt 源

    中国开源软件中心更新服务器(北京光环新网 服务器),包含其他开源镜像: deb http://mirrors.oss.org.cn/ubuntu/ vivid main restricted univ ...

  5. samba 服务

    samba-client-3.6.9-167.el6_5.i686 samba-3.6.9-167.el6_5.i686 samba-common-3.6.9-167.el6_5.i686 samba ...

  6. 配置android模拟器

    配置android模拟器 1. 将android-sdk-windows.rar和eclipse_android.rar解压到D盘根目标下 直接将两个压缩文件解压到当前分区(D盘)即可 2. 配置环境 ...

  7. javascript中单体模式的实现

    单体模式作为一种软件开发模式在众多面向对象语言中得到了广泛的使用,在javascript中,单体模式也是使用非常广泛的,但是由于javascript语言拥有其独特的面向对象方式,导致其和一些传统面向对 ...

  8. tengine安装

    下载地址: http://tengine.taobao.org/download_cn.html $tar -xvzf tengine-2.1.2.tar.gz $./configure$ make$ ...

  9. Transact-SQL 学习小结

    1.把系统里所有用全局临时表的改成局部临时表,不然并发高时会引发对象已经存在的问题,不要用##要用#. 2.int 不能写成 id = '1',比如Select * from A where ID=' ...

  10. 概要设计、详细设计(三)关键点(Know-How)、运用技巧

    1.    关键点(Know-How).运用技巧 4.1 设计准则 制定设计准则是概要设计阶段的最主要.最关键的工作.在实际工作中往往忽略,多数项目牺牲在这个环节.制定设计准则着眼于如何更好的做设计, ...