android
yuanzhangmei1
这个作者很懒,什么都没留下…
展开
-
下载android4.0源代码和kernel及编译
下载android源代码及编译及遇到的问题:最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本差不多,但是有一些小的差别,写下来供不明真相的新手来参考首先,开发环境,google建议在ubuntu10.0.4下,并且最好是64位,既然是为了工作和学习,就尽量按照官方要求的来吧。Python 2.5转载 2014-05-05 15:26:08 · 7960 阅读 · 1 评论 -
Android之Binder设计分析
接着上篇binder简要介绍(见 http://www.linuxidc.com/Linux/2012-07/66195.htm ),我们来分析binder机制的设计。binder主要框架分为三个部分:服务端,binder驱动,客户端。binder在Android最常见的使用场景就是一个程序的activity与系统service进行交互。比如我通过wifi的service来获取wifi控制转载 2014-05-15 09:27:37 · 681 阅读 · 0 评论 -
JNI编程注意事项
整理项目文档时, 忽然发现当年的一篇以前公司里关于JNI编程 的标准化文档。做为收藏,就贴在这里吧。注:关于JNI, 现在好像有一个OpenSource项目jace可以帮助进行JNI的开发。另外, 推荐IBM Developerworks网站上的一个教程《用jni进行java编程》JNI编程注意事项:1、 JNI的函数声明:JNI函数声明方法为JAVA_Pac转载 2014-05-14 19:43:41 · 484 阅读 · 0 评论 -
Android中的Binder机制的简要理解
我们知道,在Android系统中,每一个应用程序都运行在独立的进程中,这也保证了当其中一个程序出现异常而不会影响另一个应用程序的正常运转。在许多情况下,我们activity都会与各种系统的service打交道,很显然,我们写的程序中activity与系统service肯定不是同一个进程,但是它们之间是怎样实现通信的呢?Binder是android中一种实现进程间通信(IPC)的方式之一。了转载 2014-05-15 09:26:45 · 664 阅读 · 0 评论 -
Android之Goldfish
一. Goldfish介绍Goldfish是一种虚拟的ARM处理器,在Android的仿真环境中使用。Android模拟器通过运行它来运行arm926t指令集(arm926t属于armv5构架,goldfish处理器有ARMv5和ARMv7两个版本,在一般情况下,使用ARMv5的版本即可)。编译生成的linux内核镜像在android的模拟器中使用。启动模拟器时,Linux Ker转载 2014-07-16 10:44:13 · 1352 阅读 · 0 评论 -
浅析Android下的Android.mk文件
1 概述 大家都知道在Linux下编辑经常要写一个Makefile文件, 可以把这个Makefile文件理解成一个编译配置文件,它保存着如何编译的配置信息,即指导编译器如何来编译程序,并决定编译的结果是什么。而在Android下的Android.mk文件也是类型的功能,顾名思义,从名字上就可以猜测得到,Android.mk文件是针对Android的Makefile文件.具体来说转载 2014-07-21 19:34:13 · 1020 阅读 · 0 评论 -
android下的callback机制
按照我个人的理解,就是: 用java的回调机制来实现C语言中的函数指针的传递。 为了了解什么是回调函数,在网上查阅了如下资料,整理如下: 资料一:首先说说什么叫回调函数? 在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调。在调用接口转载 2014-06-11 17:38:10 · 19336 阅读 · 6 评论 -
callback理解
当然,也可以在事件管理或事件通知者类中,通过注册的方式来注册多个对此事件感兴趣的对象。1. 定义一个接口InterestingEvent ,回调方法nterestingEvent(String event) 简单接收一个String 参数。interface InterestingEvent { public void interestingEvent(String ev转载 2014-06-11 17:57:01 · 1015 阅读 · 0 评论 -
Android JNI 使用的数据结构JNINativeMethod详解
Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;voi转载 2014-07-22 09:47:09 · 878 阅读 · 0 评论 -
android下的service以及callback
AIDL实现就可以在客户端中调用服务端的方法,并传递数据到服务端,也可以服务端传递数据过来;但是如果要从服务端去调用客户端的方法,那么就需要注册callback! 抄自和源码:http://zxl-ong.iteye.com/blog/736888 前面的文件讲到用AIDL来实现进程间的通信,但是只讲到客户端调用服务端的方法,现在来看看服务端对客户端方法的调用cal转载 2014-06-11 17:39:20 · 6349 阅读 · 0 评论 -
Android JNI调用(二)
生成java程序与c程序的接口文件 谈到这里,自然就会联想到是c语言的。h文件了,现在的问题在于如何从。java文件生成我们需要的。h格式的c/c++文件。答案就是javah这个小工具基本上所有的jdk都会提供: javah -classpath "java类的地址" 利用javah就可以很容易地将JniModule。java代码的native标记的部分转换为c/c转载 2014-05-14 19:06:16 · 554 阅读 · 0 评论 -
蓝牙开启源码分析
首先介绍下几个重要的类:原创 2014-05-20 14:54:50 · 4307 阅读 · 1 评论 -
分析IBinder体系中getService的流程
IBinder体系中得到一个服务的过程分析:ServiceManager是管理所有服务(如音频,相机)的一个进程,它的handle是0一、总的来说:得到一个service很简单,分成两步,1,得到一个默认的serviceManager;2,然后使用serviceManger->getService(service名称)得到具体的service二、详细分析参照网上一些资料原创 2014-05-19 14:54:20 · 6834 阅读 · 0 评论 -
Android JNI调用(三)
最后需要说的就是,在偶传上来的代码中,可能会发现有一个叫做libcutils.a的编译好的静态库,这个东西就“说来话长”了,主要原因是偶在做实验的时候,还没有ndk发布出来,android手机里面也没个gdbserver之类的工具,调试起来十分痛苦。偶认为再怎么弱,也要输出点东西到logcat吧?!因此,从android-platform的平台源代码中提取了cutils的头文件,直接把androi转载 2014-05-14 19:06:48 · 606 阅读 · 0 评论 -
Android JNI调用(一)
1.jni的基本工作原理 (1)java的本质 想搞明白jni的本质,还要从java的本质说起.从本质上来说,java这门语言就是一门脚本语言(这是偶的个人理解,希望java大侠们不要用板砖拍我),它的运行完全依赖于脚本引擎对java的代码进行解释和执行(当然了,现代的java已经先进许多,可以从源代码编译成.class之类的中间格式的二进制文件,这种处理会大大地加快转载 2014-05-14 19:05:47 · 621 阅读 · 0 评论 -
较详细的介绍JNI
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢? 你的J转载 2014-05-14 19:42:00 · 1080 阅读 · 0 评论 -
Android IPC机制Binder解析
花了一个上午的时间把这篇文章翻译完,确实写的很透彻,但美中不足的地方是没有插图,不能直观的了解Binder机制,说实话我自己对binder也理解的很浅显,特别是到binder kernel driver哪块,还要等我先学习linux驱动再来看一遍吧,等以后看懂了再自己绘图应该更有助于理解。---------------------------------------------------转载 2014-05-16 17:40:38 · 1096 阅读 · 0 评论 -
Android系统RPC与Binder
一、RPC与IPC关系 Binder机制对于Android系统学习就犹如根文件系统挂载部分对于Linux内核学习;是一座不得不翻越的大山(指其复杂程度与重要性)。1.RPC基本流程 RPC在调用一个远程过程后,自己进入等待状态,传往远程过程的参数包括过程参数,返回参数包括执行结果;当收到包括执行结果的消息后,本地进程从消息中取得结果,调用进程重新开始执行。在转载 2014-05-15 15:11:04 · 2317 阅读 · 0 评论 -
Android Binder设计与实现 – 设计篇
摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和转载 2014-05-16 13:33:41 · 625 阅读 · 0 评论 -
Android的IPC机制Binder的详解汇总
第一部分 Binder的组成 1.1 驱动程序部分驱动程序的部分在以下的文件夹中:Java代码 kernel/include/linux/binder.h kernel/drivers/android/binder.c Java代码 kernel/include/linux/binder.h kernel/drive转载 2014-05-16 17:27:49 · 844 阅读 · 0 评论 -
android的binder机制研究
(一) 概述 android的binder机制提供一种进程间通信的方法,使一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。 android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中: frameworks\base\include转载 2014-05-16 13:34:48 · 630 阅读 · 0 评论 -
AIDL简单入门
最近即将做的一个项目里面需要使用到AIDL(Android Interface Definition Language:接口描述语言)技术,自己早前只是简单瞄了一眼,我的理解它和java中的RMI的概念差不多,在这里我就不相信讲解什么事AIDL了,网上这种介绍非常多。不过概念毕竟是书本上的东西,我决定亲自测试一下。废话不说了,直接开始 1、 既然AIDL是既然是可以在不同进程间进行操作,那么我转载 2014-05-15 16:56:04 · 632 阅读 · 0 评论 -
Android SDK 源代码编译
1. 环境Ubuntu 10.04 32-bitsudo apt-get install git-coresudo apt-get install curlsudo apt-get install zlib -dev 变为 sudo apt-get install zlib1g -devsudo apt-get install bisonsudo a转载 2014-07-16 09:18:00 · 762 阅读 · 0 评论