自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(185)
  • 收藏
  • 关注

转载 Android APN的设置问题

1、问题的引入       在android源码,成功执行了make 和 make sdk,也最终烧到开发板上了!不幸的是插入SIM卡却无法上网,必须手动设置APN后才能上网,而有些“菜鸟级”用户却无从下手,就需要我们开发者给他提供方便了!如何保证在插入SIM卡后就已经自动设置好APN呢?此时只要用户轻轻一点对应指定SIM卡的APN就OK了! 2、问题的分析 2-1、apn的流

2013-07-23 14:18:57 1494

转载 Android手机APN设置(中国移动 联通3G 电信天翼),解决不能上网的问题

中国移动 第一步,设置CMNET上网 新建APN1.名称:cmnet2.APN:cmnet3.APN类型:default就只填写上面3个选项,其他都是默认,不用填写。 第二步,设置彩信 新建APN1.名称:cmmms2.APN:cmwap3.代理:10.0.0.1724.端口:805.用户名:(空着)6.密码:(空着)7.

2013-07-23 14:17:40 9961

转载 Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作

/******************************************************************************************** * author:conowen@大钟

2013-01-19 11:32:01 1016

转载 Android的NDK开发(1)————Android JNI简介与调用流程

/******************************************************************************************** * author:conowen@大钟

2013-01-19 11:30:38 739

转载 Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld

/******************************************************************************************** * author:conowen@大钟

2013-01-19 11:29:58 596

转载 Android的NDK开发(3)————JNI数据类型的详解

/******************************************************************************************** * author:conowen@大钟

2013-01-19 11:29:10 677

转载 Android的NDK开发(4)————JNI数据结构之JNINativeMethod

/******************************************************************************************** * author:conowen@大钟

2013-01-19 11:28:17 698

转载 展讯平台-LCD驱动

所谓驱动者,三分硬件,三分格式,四分软件。对于展讯平台的LCD驱动,首先就要了解一点基本的硬件知识。一、LCD的接口        其实LCD的接口有很多,但是不管是在手机还是电脑,液晶屏的接口也最常用的有两个,MCU和RGB        1、MCUMCU接口又根据时序的不同分为Intel的8080和Motorola的6800。他们两个主要是时序的区别。现在6800已经基本不用了

2012-07-16 09:06:31 1212

转载 my,our,local,Perl范围变量声明

范围声明和全局声明类似,词法范围声明也是在编译时起作用的。和全局声明不同的是,词法范围声明的作用范围是从声明开始到闭合范围的最里层(块,文件,或者 eval--以先到者为准)。这也是为什么我们称它为词法范围,尽管"文本范围"可能更准确些,因为词法范围这个词实在和词法没什么关系。但是全世界的计算机科学家都知道"词法范围"是什么意思,所以在这里我们还是用这个词。Perl 还支持动态范围声明

2012-07-12 15:48:05 712

转载 Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Layer)之间的显示缓冲区管理

SurfaceFlinger在系统启动阶段作为系统服务被加载。应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应于SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Layer组合到一起,显示到显示器上。当一个

2012-07-11 23:17:57 786

转载 Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer

应用程序中不同类型的Surface,在FrameWorks本地层的SurfaceFlinger中,分别对应着不同的Layer类,本文主要是讨论这几种Layer的实现和差异。阅读本文之前,最好对SurfaceFlinger这个系统服务有所了解,可以参阅我的以下两篇文章:Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Lay

2012-07-11 23:15:34 962

转载 Android Surfaceflinger 的使用

最近在做一个android的新平台,涉及到了SurfaceFlinger的使用。又要在另外一个平台上实现一个抓屏的功能,被折磨的囧啊。最近终于能够闲下来整理一下这块的东西了。网上有很多讲解SurfaceFlinger的文章,但大部分都是原理分析,看的头大。下面是一个测试小例子,测试SurfaceFlinger的使用,并结合skia测试了软合成shotsceen的性能。点击(此处)折叠或

2012-07-11 23:13:12 1449

转载 Android -- SurfaceFlinger Surface创建 系列 (二)

应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应 于SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些 Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Layer组合到一起,显示到显示器上。一、Surface的创建过程:请看如下序列图

2012-07-11 23:09:23 1178

转载 Android -- SurfaceFlinger 概要分析系列 (一)

图形显示整个架构是android中相当复杂的系统,涉及到众多的概念,但是非常重要,如花屏,透明,显示速度等等都与其相关,所以是必须破解的障碍,那么就深入学习吧。基本处理流程:应用程序直接与Surface交互,Surface就像是UI的画布,则APP则在Surface直接画图,最后由SurfaceFlinger进行混合所有Layer数据,在此利用OpenGL或者2D Copy

2012-07-11 23:08:47 958

转载 Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系

一、SurfaceSurface就是“表面”的意思。在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原生缓冲器的句柄”,这句话包括下面两个意思:1.

2012-07-11 22:59:27 919

原创 Android 4.0 Service Framework

<!--@page {margin:0.79in}p {margin-bottom:0.08in}h1 {margin-bottom:0.08in}h1.western {font-family:"Arial",sans-serif; font-size:16pt}h1.cjk {font-family:"DejaVu Sans"; font-siz

2012-06-15 17:49:32 2520

转载 深入学习EGL .

1.获取Display:Display代表显示器,在有些系统上可以有多个显示器,也就会有多个Display。(Sam觉得这个观点有点牵强,Sam觉得Display理解为显存Framebuffer比较合适一些)。获得Display要调用EGLbooleaneglGetDisplay(NativeDisplay dpy),参数一般为EGL_DEFAULT_DISPLAY 。该参数实际的意义是平台实

2012-06-14 13:55:23 856

转载 Android EGL接口解析

EGL 是 OpenGL ES 和底层 Native 平台视窗系统之间的接口。本章主要讲述 OpenGL ES 的 EGL API ,以及如何用它创建 Context 和绘制 Surface 等,并对用于 OpenGL 的其他视窗 API 做了比较分析,比如 WGL 和 GLX 。本章中将涵盖如下几个方面:         EGL 综述          EGL 主要构成( Dis

2012-06-14 13:54:41 744

转载 Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析

在前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析中,我们系统地介绍了Android系统匿名共享内存的实现原理,其中着重介绍了它是如何辅助内存管理系统来有效地管理内存的,在再前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划中,我们还提到,Andro

2012-06-11 20:01:11 868

转载 Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析

在上一文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划中,我们简要介绍了Android系统的匿名共享内存机制,其中,简要提到了它具有辅助内存管理系统来有效地管理内存的特点,但是没有进一步去了解它是如何实现的。在本文中,我们将通过分析Android系统的匿名共享内存Ashmem驱动程序的源代码,来深入了解它是如何辅助内存管理系

2012-06-11 19:58:41 986

转载 Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划

在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中。它有两个特点,一是能够辅助内存管理系统来有效地管理不再使用的内存块,二是它通过Binder进程间通信机制来实现进程间的内存共享。本文中,我们将通过实例来简要介绍Android系统的匿名共享内存的使用方法,使得我们对Android系统的匿名共享内存

2012-06-11 19:56:36 932

转载 Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢?这就是本文要介绍的Android系统应用程序框架

2012-06-11 19:53:15 788

转载 Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理。在这一篇文章中,我们将深入到Binder驱动程序源代码去分析Client是如何通过Service Manager的getService接口中来获得Server远程接口的。Client

2012-06-11 19:51:03 726

转载 Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路中,介绍了在Android系统中Binder进程间通信机制中的Server角色是如何获得Service Manager远程接口的,即defaultServiceManager函数的实现。Server获得了Service Manager远程接口之后,就要

2012-06-11 19:49:49 955

转载 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Server和Client服务了。那么,Server和Client如何获得Service Manager接口,进而享受它提供的服务呢?本文

2012-06-11 19:46:56 708

转载 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Serve

2012-06-11 19:45:41 648

转载 Android进程间通信(IPC)机制Binder简要介绍和学习计划

在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。        我们知道,Android系统是基于Linux内核的,而Lin

2012-06-11 19:43:12 526

转载 Android getevent/senevent

getevent&sendevent 是android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。 === getevent ===getevent 监控当前的事件,鼠标事件,按键事件,拖动滑动等 dd device 1: /dev/input/event0  name:

2012-05-26 17:43:44 568

转载 Android 命令

1. Android支持的linux command不多,在/system/bin下面可以找到,其中大部分都是Android的工具,只有一小部分是linux原有的命令2. 一些常用的Android命令(这里只总结Android中特有的,其他的linux命令资料就很多了)a)getprop/watchpropsgetprop列出系统的属性,前面十名字,后面是值# getp

2012-05-26 17:42:27 603

原创 Android 4.0 用户输入子系统

1.Android 4.0 用户输入子系统代码模块frameworks/base/services/java/com/android/server/SystemServer.javaframeworks/base/services/java/com/android/server/wm/WindowManagerService.javaframeworks/base/services/j

2012-05-24 21:13:52 1790

转载 Input Core和evdev基本知识 - Kernel3.0.8

1. 基本数据结构和使用示例input_event数据结构如下:[cpp] view plaincopystruct input_event {      struct timeval time;      __u16 type;      __u16 code;      __s32 value;  };  input_dev数据结构如下:[c

2012-05-24 19:07:00 729

转载 epoll_create & epoll_ctl & epoll_wait Kernel实现 -- Kernel 3.0.8

1. 相关数据结构[html] view plaincopyspan style="font-size:10px;">#define EPOLLIN          0x00000001  #define EPOLLPRI         0x00000002  #define EPOLLOUT         0x00000004  #define EPOLLERR

2012-05-24 19:04:01 866

转载 Adroid 触摸屏设备

1. 触摸屏设备分类1.1 多点触摸满足以下两个条件为多点触摸设备:1)输入设备驱动报告了ABS_MT_POSITION_X 和ABS_MT_POSITION_Y存在2)输入设备没有任何手柄按钮1.2 单点触摸满足以下两个条件为单点触摸设备:1)输入设备不被归类为多点触摸设备2)输入设备报告存在ABS_X和ABS_Y绝对轴,以及存在BTN_TOUCH按键码1.3

2012-05-23 16:57:41 1443

转载 Android 4.0 事件输入(Event Input)系统

1. TouchScreen功能在Android4.0下不工作       原来在Android2.3.5下能正常工作的TouchScreen功能,移植到Android 4.0就不能正常工作了。凭直觉,Android4.0肯定有鬼。真是不看不知道,一看吓一跳。在Android 4.0中,Event Input地位提高了,你看看,在Adroid2.3.5中,它在frameworks/base/l

2012-05-23 13:42:46 1270

转载 container_of()

container_of()函数 1.该宏定义在include/linux/kernel.h中 439/** 440 * container_of - cast a member of a structure out to the containing structure441 * @ptr: the pointer to the member.

2012-05-23 04:45:13 495

转载 UT6410的2d模块软硬件测试记录

前几天刚好完成了2d模块的驱动移植。正好写几个测试的代码进行比较一下2d的加速性能。不费话了,直接贴代码: 软解的代码:#include #include #include #include #include #include #include #include //#include "s3c_g2d.h"#include "fb.h"#define

2012-05-09 22:33:21 690

转载 Android Study -- pmem driver代码分析

Android会使用Linux中的pmem driver进行内存分配。通过代码的阅读,分配的关系我做了张简单的图。说明:1. pmem_probeA. 获得设备的内存空间,包括物理地址和大小B. 对空间的管理模块进行初始化,分区域C. 对空间进行ioremap2. pmem_openA. 创建新的pmem_data结构B. 并使之与pmem[]建立链表关系

2012-05-09 21:28:33 687

原创 Android PMEM的机制和原理

Android PMEM的作用:向用户空间提供连续的物理内存区域Android PMEM的功能:

2012-05-09 17:55:16 1169

原创 Android音频子系统源码分析之AudioFlinger的实现

音频系统的播放接口由AudioTrack提供,每一个音频都会对应一个AudioTrack实例,它会通过iBinder来远程调用AudioFlinger的createTrack函数.AudioFlinger 会根据传入的frameCOunt参数申请一块内存,AudioTrack可以通过IaudioTrack接口的getCblk()函数获得指向该内存的Imemory接口,然后AudioTrack通过该

2012-05-07 15:04:30 2643

转载 Android 4.0 源代码地址

git clone https://android.googlesource.com/device/common.git git clone https://android.googlesource.com/device/google/accessory/arduino.git git clone https://android.googlesource.com/device/goog

2012-05-07 01:05:59 689

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除