jni
文章平均质量分 73
somebot
这个作者很懒,什么都没留下…
展开
-
JNI学习5——测试数组的使用
JNI文件:HelloWorld.cpp/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class com_lawrence_hello_HelloWorld *///#include "HelloWorld.h"#include "stdio.h"#include "Seri原创 2015-08-24 12:06:41 · 516 阅读 · 0 评论 -
我的Opencv4Android添加V4L2支持的移植记录(2)
博主QQ:1356438802在前一篇文章的基础上,对app增加实时预览功能,源码如下:http://download.csdn.net/detail/luoyouren/9568587原创 2016-07-06 12:02:44 · 1685 阅读 · 2 评论 -
我的Opencv4Android添加V4L2支持的移植记录(3)
博主QQ:1356438802本文实验平台:Eclipse + Opencv 2.4.10 + MTK Android 4.4平板(这一直是我的Android实验平台)可能各位看官,看到前面的文章会觉得很凌乱,一会儿这个平台,一会儿那个平台。其实我的主要思路就是:opencv中的任何一个功能,首先在windows上验证成功,再到Ubuntu,然后到And原创 2016-07-13 11:24:17 · 2474 阅读 · 0 评论 -
我的Opencv4Android添加V4L2支持的移植记录(4)
博主QQ:1356438802这次我们来对《我的Opencv4Android添加V4L2支持的移植记录(2)》的实时预览进行一些优化。先来看那篇文章中源码的ImageProc.cpp文件#include "ImageProc.h"#include "cv.h"#include "highgui.h"#include "opencv2/core/core.hp原创 2016-08-04 11:56:48 · 1059 阅读 · 0 评论 -
Android 在 SElinux下 如何获得对一个内核节点的访问权限
Android 5.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。本文将以用户自定义的内核节点/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限。第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_server进转载 2016-06-30 10:57:05 · 1093 阅读 · 0 评论 -
JNI中新建文件、读写普通文件和驱动文件的方法综述fopen/open/creat/
这段时间的JNI开发中发现,在JNI中,普通文件的新建、读写既可以用C库函数,也可以用linux系统函数,如下:平台android 4.4.2编译工具ndkstatic int write_file(void){ int fd = 0; int ret = 0; char str[32]; FILE *fp = NULL; //C库函数新建、写 LOGI("fuck1.原创 2015-11-11 11:33:25 · 6440 阅读 · 0 评论 -
自定义打印函数/log打印工具
最近因为在写JNI库,需要打印log来调试,自家的平板倒是有MTKLogger,但是手上的手机就没有这个东东,所以要自己写文件打印log,于是研究了下自定义log打印。示范如下:平台ubuntu-x64编译工具gcc#include #include #include #include #include #define LOGI(fmt, args...) m原创 2015-11-11 11:18:54 · 729 阅读 · 0 评论 -
JNI学习2——jni入门篇
序】我是为了android研究需要才开始研究JNI的。阅读本例文之前希望你按照上一篇【java】Windows7 下环境变量设置已经对环境变量进行正确设置本文通过一个简单的例子来演示如何使用JNI。我们写一个JAVA程序,并用它调用一个C函数来打印“Hello World!”。这个过程包含下面几步: 1、 创建一个类(HelloWorld.java)声明本地方法。转载 2015-08-21 11:35:53 · 664 阅读 · 0 评论 -
JNI学习3——JNI中java类型的简写
在JNI中,当我们使用GetFieldID/GetStaticFieldID或GetMethodID/GetStaticMethodID及定义JNINativeMethod等时,我们需要表示成员变量的类型,或函数传入参数或返回的类型。JNI把Field的类型,或函数传入参数或返回值的类型进行简写以char*的形式进行表示。 对于成员变量,直接用java类型的简写表示成员变量的类型就转载 2015-08-21 11:36:52 · 678 阅读 · 1 评论 -
JNI学习1——Android jni GetFieldID 和 GetMethodID 函数的说明
GetFieldID是得到java类中的参数ID,GetMethodID得到java类中方法的ID,它们只能调用类中声明为 public的参数或方法。使用如下:jfieldID topicFieldId = env->GetFieldID(objectClass,"name", "Ljava/lang/String;");jmethodID getcName=env->GetMethodI转载 2015-08-21 10:57:35 · 2464 阅读 · 0 评论 -
Android.mk文件语法规范——深入了解android平台的jni
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。 一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK转载 2015-08-27 16:19:50 · 483 阅读 · 0 评论 -
Android.mk文件语法规范(Android.mk File)
1、Android.mk文件概述Android.mk文件用来告诉NDK编译系统,应该如何编译这些源码。更确切地说,该文件其实就是一个小型的Makefile。该文件会被NDK的编译工具解析多次,所以要注意不要过多使用环境变量,以免第一次解析时产生的变量影响后面的解析。Android.mk把源码组织成不同的模块,每个模块可以是一个静态库也可以是一个动态库。动态库才会被拷贝到安装包中,静态库转载 2015-08-27 16:16:34 · 521 阅读 · 0 评论 -
JNI学习4——访问数组(JNI)
JNI在处理基本类型数组和对象数组上面是不同的。对象数组里面是一些指向对象实例或者其它数组的引用。 基本类型数组:获取数组元素指针的对应关系: 函数 数组类型 GetBooleanArrayElements boolean GetByteArrayElements byte GetCharArrayElements char转载 2015-08-24 11:57:51 · 572 阅读 · 0 评论 -
我的Opencv4Android添加V4L2支持的移植记录(1)
博主QQ:1356438802引言前面几篇文章我已经在Windows / Ubuntu / Android 三个平台成功安装了opencv的使用/编程环境,但是我需要在android平台使用usb video camera(即UVC)。当然在Ubuntu上,默认编译出来的opencv库本身就支持V4L2(UVC的操作API函数集),而Windows是将UVC纳入了DirectShow原创 2016-07-04 09:35:21 · 5205 阅读 · 2 评论