android jni
jingzailongxin
这个作者很懒,什么都没留下…
展开
-
android jni问题之JNI WARNING: threadid=1 using JNI after critical get (GetObjectClass)
搞了半天终于知道原因了,jni项目的c++代码中使用了env->GetPrimitiveArrayCritical(imgSrc, 0);方法,那么在这句之后就不能再调用env相关的其他接口了,调用后就会闪退,当然google后发现可能是特殊的设备造成的,其中的原因不清楚需要看底层的源码,不过既然碰到了以后就慎用了。原创 2016-03-30 18:02:43 · 1712 阅读 · 0 评论 -
浅析Android Camera架构
本博文是基于Android 4.4讲解 1、application 层: 当我们Android工程师想打开camera时通常直接调用Camera.java中的 Camer.open(cameraId)静态函数 camera.java 位于 frameworks/base/core/java/android/hardware目原创 2016-08-23 12:01:33 · 4055 阅读 · 0 评论 -
Eclipse配置jni头文件生成工具
在我一篇博文中提到了如何命令行生成jni的头文件 命令行生成android jni头文件方法,这种方法不是很便利,下面我来介绍一种简便的方法1、’打开eclipse的菜单工具栏2、点击下拉菜单的External Tools Configurations3、在上图左侧视图中的Program项中新增createJniH(名字自己定义,这是我自己起的工具名称) 在原创 2016-09-02 10:26:07 · 415 阅读 · 0 评论 -
jni 新线程使用JNIEnv *env
众所周知JNIEnv env 是一个线程对应一个env,线程间不可以共享同一个env变量。那么如何在新创建的线程中使用env变量呢?1、JavaVM *g_vm; env->GetJavaVM(&g_vm); //来获取JavaVM指针.获取了这个指针后,将该JavaVM保存起来。(env是当前线程中对应的变量)2、在新线程中调用原创 2016-10-28 15:10:38 · 3263 阅读 · 0 评论 -
android.mk = 和 :=区别
1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值 x = love y = $(x) android x = hate $(warning $(y)) y是ha原创 2017-04-05 11:53:07 · 468 阅读 · 0 评论