(1)获取java数组的长度 int length = (*env)->GetArrayLength(env,jarray);(2)得到数组的指针 int * arr = (*env)->GetIntArrayElements(env,jarray,0);(3)遍历数组中的每个元素,对其...
分类:
编程语言 时间:
2015-12-05 17:50:06
阅读次数:
207
(1)首先将java传递过来的字符串转化成c的char类型的数组,代码如下char* Jstring2CStr(JNIEnv* env, jstring jstr){ char* rtn = NULL; jclass clsstring = (*env)->FindClass(env,"java/l...
分类:
编程语言 时间:
2015-12-05 17:45:14
阅读次数:
301
(1)声明头文件,拷贝下面的内容到c文件中 #include #define LOG_TAG "clog" #define LOGI(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG, __VA_ARGS__) #defi...
分类:
其他好文 时间:
2015-12-05 17:23:56
阅读次数:
125
本文,提供“Android应用被卸载后,自动使用 浏览器打开指定连接”的方法。
原理:在安卓程序中某处,基于JNI调用C代码开启一个子进程监控应用在系统中的文件目录,一旦应用被卸载,该目录将会被系统删除,此时触发子进程执行相关代码(本例调用浏览器执行打开一个连接)
1、在安卓项目下创建jni目录
2、在jni目录下创建文件observer.c/*
* Copyright (C) 2009 T...
分类:
移动开发 时间:
2015-12-05 11:20:20
阅读次数:
232
1.关于JNIEnv和JavaVMJNIEnv是一个与线程相关的变量,不同线程的JNIEnv彼此独立。JavaVM是虚拟机在JNI层的代表,在一个虚拟机进程中只有一个JavaVM,因此该进程的所有线程都可以使用这个JavaVM。当后台线程需要调用JNI native时,在native库中使用全局变量...
分类:
编程语言 时间:
2015-12-05 11:10:35
阅读次数:
190
1,JNI基本使用, (1)新建一个java类(com.example.jniparsedata.ParseData),专门用于和c进行交互 (2)在java类中声明方法 public native String StringHellowFromC(); (3)进入该类所在目录(../src)...
分类:
其他好文 时间:
2015-12-04 22:49:49
阅读次数:
135
[Android]通过JNI访问并操作Bitmap的元素,支持RGB565和ARGB8888标签:androidbitmapjni2014-05-09 20:352985人阅读评论(1)收藏举报版权声明:本文为博主原创文章,未经博主允许不得转载。一段简单的JNI例子,输入是Bitmap(需要是Mut...
分类:
移动开发 时间:
2015-11-30 19:50:22
阅读次数:
285
今天在使用Android Studio的时候突然发现代码没错,so包也引入了,各个版本都引入了,但是就是一直报错:java.lang.UnsatisfiedLinkError: Couldn't load serphone from loader dalvik.system.PathClassLoa...
分类:
移动开发 时间:
2015-11-30 13:10:41
阅读次数:
397
1.配置脚本2.测试使用脚本新建一个工程,加入public static native getStringFromC();,新建一个jni目录,然后选中MainActivity(前面那个方法所在的activity的名字)如果配置了多个脚本,下拉菜单可以选择。运行过后,jni目录下就会自动生成一个.h...
分类:
移动开发 时间:
2015-11-26 10:57:52
阅读次数:
170
准备工作:1.打开eclipse,新建c++项目,编写c++ jni接口如下图:2.编译运行生成dll文件,导入到java项目,在java中创建调用使用,如下图:C文件定义:头文件/* DO NOT EDIT THIS FILE - it is machine generated */#includ...
分类:
编程语言 时间:
2015-11-25 23:39:20
阅读次数:
376