三、使用 c++ API开发android,其实也就是做JNI开发:
JNI——java native interface,java本地接口。可以在java类中调用jni函数,而jni函数又以C++的形式调用了openCV库。
创建工程
步骤如工程一,创建新工程GrayProcess2,将lena.jpg添加到资源文件,并按上...
分类:
移动开发 时间:
2016-04-29 16:35:18
阅读次数:
281
Android JNI配置及入门
JNI是一种可以在Java中调用C/C++代码的技术,也就是说可以在Android上使用C/C++来开发。但是并不能用纯C/C++来开发Android应用,因为这些C/C++代码要通过Java定义的接口来调用。
我试验Android上的JNI时使用的是NDK-R10,不需要Cygin,使用版本较低的NDK时请另寻教程。
N...
分类:
移动开发 时间:
2016-04-29 16:29:50
阅读次数:
236
前言因为工作需要可能要用到JNI开发,本篇文章就分享一下我在这方面的实践,以前我们使用Eclipse做NDK开发,非常麻烦,需要配cygwin的编译环境,后面NDK功能完善才逐渐简单点,如果想了解Eclipse如何配置NDK编译环境可以参考我以前发表的旧文:Cocos2d-x 2.2.3 使用NDK配置编译环境
JNI_Android项目中调用.so动态库Eclipse的如何通过NDK生成so库就...
分类:
移动开发 时间:
2016-04-29 00:17:00
阅读次数:
324
AndroidStuido 运用 NDK 调用JNI 的一些基本步骤...
分类:
移动开发 时间:
2016-04-26 21:19:48
阅读次数:
166
Android For JNI(六)——交叉编译,NDK概述以及文件结构,编写自己的第一个JNI工程
终于回到我们的android了,我们先要配置这个NDK的环境,但是之前,我们还要了解一下基本的术语
一.交叉编译
在一个平台下编译出另一个平台可以执行的二进制程序
CPU平台:ARM X86 MIPS(指令集)
系统平台:windows linux mac
原理:模拟另一个平台的特性去编译程序...
分类:
移动开发 时间:
2016-04-26 21:05:29
阅读次数:
188
JNI java native interface c的基本数据类型 int:32位,能表示的数字是2的32次方个 最高位用来表示符号位,那么还剩下31位可以表示数值,所以能表示的数字就是2的31次方个 int的表示范围: 当最高位是0时:0~2147483647 当最高位是1是:-21474836 ...
分类:
移动开发 时间:
2016-04-23 21:30:30
阅读次数:
265
JNI_OnLoad函数大概功能就是在程序加载so的时候,会执行JNI_OnLoad函数,做一系列的准备工作。很多时候,程序猿们会将一些重要信息放在此函数中,而不是通过某种事件来重复触发。包括说将反调试函数放置在此函数中。因此,调试手段发生了改变,上述调试方法基本上被淘汰。 1.静态分析,找到JNI ...
分类:
其他好文 时间:
2016-04-23 19:55:07
阅读次数:
772
1. 首先使用调试JNI_OnLoad函数的方法,先将apk以调试状态挂起,使用IDA附加上去。 2. 然后在libdvm.so中的dvmDexFileOpenPartial函数上下一个断点 3. 然后我们点击继续运行,程序就会在dvmDexFileOpenPartial()这个函数处暂停,R0寄存 ...
分类:
其他好文 时间:
2016-04-23 19:46:55
阅读次数:
143
JAVA使用JNI调用C++动态链接库 使用JNI连接DLL动态链接库,并调用其中的函数 首先 C++中写好相关函数,文件名为test.cpp,使用g++编译为DLL文件,指令如下: g++ -shared -Wl,--kill-at,--output-def,test.def -o test.dl ...
分类:
编程语言 时间:
2016-04-23 11:55:11
阅读次数:
479
如今,大部分的AR都是基于移动设备的,所以这里我们尝试在Android中调用OpenCV的功能来做一些相关的测试。由于OpenCV是基于C语言和部分C++语言开发的,而Android开发使用的则是Java,那么如何才能在Java中调用OpenCV库中的类或者代码呢?这就需要借助于JNI了,不过在使用JNI之前,我们首先要先配置好开发环境。
一、工具:
1.Eclipse:包含SDK、I...
分类:
移动开发 时间:
2016-04-22 20:33:40
阅读次数:
376