ndk的一些概念

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

时间: 2024-11-01 10:13:08

ndk的一些概念的相关文章

【转】 Android的NDK开发(1)————Android JNI简介与调用流程

原文网址:http://blog.csdn.net/conowen/article/details/7521340 ******************************************************************************************** * author:[email protected]大钟                                                                      

他的第一个NDK的Demo

DEMO下载链接: http://download.csdn.net/detail/logicsboy/7535409 首先给你们恶补下啥是NDK:(我从百度Copy的) NDK全称:Native Development Kit. 1.NDK是一系列工具的集合. * NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk. 这些工具对开发人员的帮助是巨大的.[1] * NDK集成了交叉编译器,并提供了对应的mk文件隔离平台.CPU.

Android NDK环境搭建与简单实例

一.NDK与JNI简介 NDK全称为native development kit本地语言(C&C++)开发包.而对应的是经常接触的Android-SDK,(software development kit)软件开发包(只支持java语言开发). 简单来说利用NDK,可以开发纯C&C++的代码,然后编译成库,让利用Android-SDK开发的Java程序调用.NDK开发的可以称之为底层开发或者jni(java  native interface)层开发,SDK开发可以称为上层开发. Andr

【转】 Android 开发 之 JNI入门 - NDK从入门到精通

原文网址:http://blog.csdn.net/shulianghan/article/details/18964835 NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub - https://github.com/han1202012/NDKHelloworld.git -- Java传递参数给C语言实例程序 : GitHub - https://github.com/han1202012/NDKParameterPassing.git --C语言回调Java方法示例

【译】NDK概述

翻译自官方文档NDK概述 NDK概述 On this page NDK使用前 介绍 NDK怎样工作 Native Activitie和应用程序 开始前 本指南假设已经熟悉安卓开发中的本地程序的概念. 介绍 本节提供了NDK如何工作的高级说明.Android NDK是一组高级工具,允许你的Android应用程序中嵌入C或C++("native code&rdquo).在Android应用中使用本地代码的功能对于希望执行以下一项或多项操作的开发人员尤其有用: 移植应用. 重用现有库, 或提供

利其器:Android应用开发的几个概念的区分

前言: 学习Android应用开发的时候,经常在eclipse里面看到很多名词,让人很迷惑,问别人也是说的不知所云.所以还是自己上网查找比较靠谱,参考链接都在最后. ? ? 涉案名单: Intel x86 Atom System Image Google APIs Intel x86 Atom System Image Android API Levels Android Platform Version Android SDK Version Google APIs Android versi

JNI/NDK开发指南(八)——调用构造方法和父类实例方法

转载请注明出处:http://blog.csdn.net/xyang81/article/details/44002089 在第6章我们学习到了在Native层如何调用Java静态方法和实例方法,其中调用实例方法的示例代码中也提到了调用构造函数来实始化一个对象,但没有详细介绍,一带而过了.还没有阅读过的同学请移步<JNI/NDK开发指南(六)--C/C++访问Java实例方法和静态方法>阅读.这章详细来介绍下初始一个对象的两种方式,以及如何调用子类对象重写的父类实例方法. 我们先回过一下,在J

Android NDK开发(一)——环境搭建

转载请注明出处:http://blog.csdn.net/allen315410/article/details/41800955 Android下的NDK开发是Android开发中不可或缺的一部分,通过Google提供的NDK套件,我们可以使用JNI这座桥梁在Java和C/C++之间建立联系(互相调用).那么,为什么在Android开发中需要了解NDK开发呢?诚然,这些原因有很多说法,在我总结来是这样的.C/C++是比Java还要古老的编程语言,由于其古老的特性,导致早期有很多优秀的类库出现,

Android NDK 开发(四)java传递数据到C【转】

转载请注明出处:http://blog.csdn.net/allen315410/article/details/41845701 前面几篇文章介绍了Android NDK开发的简单概念.常见错误及处理和从第一个Hello World开始实际做一个简单的JNI开发示例,相信看完之后,大家对NDK开发有了一个概念上的认识了,那么接下来我们需要再深入一下NDK的开发,我们知道NDK开发就是使用JNI这层“协议”在Java和C之间起个“桥梁”的作用,将Java和Native C之间联立起来,让Java