在前文《Android多线程分析之一:使用Thread异步下载图像》中演示了如何使用 Thread 处理异步事务。示例中这个 Java Thread 类都是位于 Framework 层的类,它自身是通过 JNI 转调 dalvik 里面的 Thread 相关方法实现的。因此要分析 Androd 中的...
分类:
移动开发 时间:
2014-07-16 21:13:06
阅读次数:
253
一、jni打印调试信息 1、 在Android.mk文件中添加: LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog 2、 在.c文件中添加:#include 3、 打印log信息:__android_log_print(ANDROID_LOG_...
分类:
移动开发 时间:
2014-07-16 18:52:13
阅读次数:
247
如果你想了解JNI在如何在多线程下使用如果你在子线程使用JNI时遇到findClass不能找到目标Class,而在主线程下却能找到该Class的问题。或是GetEnv返回NULL的问题如果你想多学点编程技术的话
那么,这篇文章就是为你而写的, :)
最近工作中遇到这么个问题:c++代码需要调用Android的API来做一个比较耗时的任务,因为有点耗时,希望能有个进度条显示给用户,很自然...
分类:
编程语言 时间:
2014-07-15 10:23:35
阅读次数:
250
本文用Java创建UI并联合JNI层操作surface来直接显示yuv数据(yv12),开发环境为Android 4.4,全志A23平台。
package com.example.myyuvviewer;
import java.io.File;
import java.io.FileInputStream;
import android.app.Activity;
import androi...
分类:
移动开发 时间:
2014-07-14 16:12:42
阅读次数:
562
JNI事实上是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其它语言的通信(主要是C&C++)。或许不少人认为Java已经足够强大,为什么要须要JNI这样的东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说...
分类:
其他好文 时间:
2014-07-14 09:08:01
阅读次数:
268
最近想使用ICTCLAS分词系统,需要在myeclipse中加载dll(本地库),查阅资料使用jni,ICTCLAS官方也提供了很全面的加载方法,虽然在run as java application下运行没有问题,但是在tomcat下报UnsatisfiedLinkError的错误,错误来自Syst...
分类:
其他好文 时间:
2014-07-14 08:46:13
阅读次数:
254
原因1:给定目录下jvm.dll不存在。对策:(1)重新安装jre或者jdk并配置好环境变量。(2)copy一个jvm.dll放在该目录下。原因2:eclipse的版本与jre或者jdk版本不一致对策:要么两者都安装64位的,要么都安装32位的,不能一个是32位一个是64位。原因2的概率更大一些,原...
分类:
系统相关 时间:
2014-07-13 09:24:50
阅读次数:
372
在前文《Android多线程分析之一:使用Thread异步下载图像》中演示了如何使用 Thread 处理异步事务。示例中这个 Java Thread 类都是位于 Framework 层的类,它自身是通过 JNI 转调 dalvik 里面的 Thread 相关方法实现的。因此要分析 Androd 中的线程,就需要分析这两层中的与线程相关的代码,这就是本文要探讨的主题。本文将把 Framework 层中的 Java Thread 称为 Android 线程/Thread,而把 dalvik 中的 Thread...
分类:
移动开发 时间:
2014-07-12 22:20:21
阅读次数:
412
在前文《Android多线程分析之二:Thread的实现》中已经详细分析了Android Thread 是如何创建,运行以及销毁的,其重点是对相应 native 方法进行分析,今天我将聚焦于 Android Framework 层多线程相关的类:Handler, Looper, MessageQueue, Message 以及它们与Thread 之间的关系。可以用一个不太妥当的比喻来形容它们之间的关联:如果把 Thread 比作生产车间,那么 Looper 就是放在这车间里的生产线,这条生产线源源不断地从 ...
分类:
移动开发 时间:
2014-07-12 18:20:56
阅读次数:
303
硬件平台:S3C6410
操作系统:Ubuntu、windows
板子系统:Android
开发工具:jdk,ndk,eclipse
本次测试从linux内核模块编译开始,以S3C6410的pwm驱动为例。
pwm_6410.c:
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
移动开发 时间:
2014-07-12 17:01:01
阅读次数:
335