android usb挂载分析】的更多相关文章

android usb挂载分析---vold处理内核消息 分类: u盘挂载2012-03-29 22:25 3215人阅读 评论(0) 收藏 举报 androidactioniteratordiskdelete MountService启动之后 ,一切准备工作都 做好了,就等待碰上u盘插上了, 这里要讲的是内核发信息给vold,我们在 vold启动这篇曾讲到过注册了一个到内核的UEVENT事件,当有u盘插入的时候,我们就能从这个套接字上收到内核所发出的消息了,这样就开始了vold的消息处理. 先…
android usb挂载分析---MountService启动 分类: android框架 u盘挂载2012-03-27 23:00 11799人阅读 评论(4) 收藏 举报 androidsocketbuffercontainersthread 在android usb挂载分析----vold启动,我们的vold模块已经启动了,通信的机制也已经建立起来了,接下来我们分析一下MountService的启动,也就是我们FrameWork层的启动,首先看下其大概流程: MountService的启…
http://blog.csdn.net/new_abc/article/details/7396733 前段时间做了下usb挂载的,现在出了几个bug,又要把流程给梳理下,顺便也把相关的知识总结下,以免下次又需要,上次弄的时候由于刚开始弄android i不久,所以只是保证了能够通过vold模块把u盘等挂载上去,具体应用能不能看到里面的东东的话就呵呵,没有保证了,现在出的几个bug也就这样,唉…… 学习了罗老师的,先慢慢的把流程图画出来: vold启动在init.rc中: system/cor…
http://blog.csdn.net/new_abc/article/details/7409018…
未完,更新中 ... "android"系列分为三部分: 1.正常开机挂载 2.encryption 3.dm-verity 我们知道android有很多分区,如"system","userdata","cache",他们是何时挂载的?如何挂载的?这个系列的文章进行分析.这里介绍第一部分,android手机正常开机各分区的挂载.这里我们以mtk平台进行分析,高通与mtk差别不是很大. 我们知道kernel起来以后执行的第一个文…
Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些系统级别的头文件,如模块.电源管理.of API等 /* * Gadget Driver for Android * * Copyright (C) 2008 Google, Inc. *.Copyright (c) 2014, The Linux Foundation. All rights re…
Android 下的usb框架及功能点:https://blog.csdn.net/tianruxishui/article/details/379029591.Android framework中****Manager.java是给用户提供的接口.UsbDeviceManager.java:主要完成功能切换及状态的更新,需要向外广播状态,接收kernel发送过来的event信息.实质性的工作都在这里边完成.UsbManager.java:usbService.java:用户会通过usbMana…
一 : 获取源码: 每个公司服务器地址不同,以如下源码地址为例: http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx svn环境执行: svn checkout http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx 或者svn co http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx repo下载参考如…
近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借鉴.英文好的读者可读原文(链接:http://blog.udinic.com/2015/09/15/speed-up-your-app). 1.作者的规则 作者每次着手处理或寻找性能问题时,遵循下列规则: 时常检测 在更新APP前后,用测试工具软件多检测几次APP性能,可快速得到测试数据.这些数字是不会说谎的…
前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 比较好的文章是:      Android USB Host与HID通讯 Android Service创建USB HOST通信 其中代码之处有些地方需要注意的, 特此注明一下: /** * USB HOST 连接 HID * @author IVAN * */ public class MainActivity extends Activity { private static final String T…
Android之mtklog分析 [海外场测反馈][xxx]动态测试时对比机xxxx拨打测试机xxxxx自动挂断电话 工作中遇到一个掉话的问题,需要分析log,log比较大,我也没法上传,就简答的讲讲吧 其实我也不太懂,随便说说吧: 1.   在mobilelog/APLog_2016_0902_134517/radio_log中: 56200:09-02 13:50:59.012418 1570 1570 D CallManager: handleMessage (EVENT_SERVICE_…
前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚.从字面意思,Context的意思是“上下文”,或者也可以叫做环境.场景等,尽管如此,还是有点抽象.从类的继承来说,Context作为一个抽象的基类,它的实现子类有三种:Application.Activity和Service(估计这么说,暂时不管ContextWrapper等类),那么这…
Android USB Connections Explained: MTP, PTP, and USB Mass Storage Older Android devices support USB mass storage for transferring files back and forth with a computer. Modern Android devices use the MTP or PTP protocols — you can choose which one you…
/* usb协议分析仅供大家参考---设备描述符配置包,设备描述符, 地址设置, 配置描述符, 字符串描述符 */ /* -1- usb设备描述符配置包 */ typedef struct _USB_SETUP_PACKET { REQUEST_TYPE bmRequestType; BYTE bRequest; WORD_BYTE wValue; WORD_BYTE wIndex; WORD wLength; } USB_SETUP_PACKET; .bmRequestType 是包含有下面几…
cocos2d-x for android:SimpleGame分析 作为cocos2d-x的标配DEMO,SimpleGame可算是给入门学cocos2d-x的俺们这些新手门学习的对象了,那么来分析分析,把几个关键的代码记录下来. 设置游戏读取资源的目录 CCFileUtils::sharedFileUtils()->setResourceDirectory("sd"); 默认路径是Resource目录 设置游戏的分辨率大小 CCEGLView::sharedOpenGLVie…
//----------------------------------------------------------------------------------- Android内存机制分析1——了解Android堆和栈 昨天用Gallery做了一个图片浏览选择开机画面的功能,当我加载的图片多了就出现OOM问题.以前也出现过这个问题,那时候并没有深究.这次打算好好分析一下Android的内存机制. 因为我以前是做VC++开发,因此对C++在Window下的内存机制还是比较了解.不过转到A…
尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8920039 最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误. 这样对Android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统优化和系统稳定性分析方面的能力是不够的. 我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全局性的介绍,在…
/******************************************************************** * I.MX6 Android USB Touch eGTouchA.ini文件存放 * 声明: * 本文主要记录徐远志在移植eGTouch USB Touch Android驱动过程中遇到的 * eGTouchA.ini文件存放问题如何解决. * * 2016-2-25 深圳 南山平山村 曾剑锋 ******************************…
近期一直在做Android USB Host 与USB Hid设备(STM32FXXX)的通信,遇到了很多问题.项目源码以及所遇到的其他问题可以见本博客其他相关文章,这里重点讲一下bulkTransfer()返回-1问题. 在百度上搜索,可以看到很多人也遇到了类似问题,按照“标准”例程写了代码,其他的步骤都没问题(getDeviceList().openDevice()等等),就是到了bulkTransfer()这一步总是返回小于0的值(-1).看网上的回复,解决方法也是各种各样,比如:检查端点…
做android 与USB HID设备的通信有段时间了,总结一下遇到的问题和解决方法: 1,第一次遇到的问题:android 版本低不支持usb hid, 被要求做相关项目的时候,就从mUsbManager.getDeviceList开始,郁闷了一周,就是返回NULL,从google上查找所有关于android usb的资料,最后才发现,android设备是2.3的不支持android.usb.hardware的包(android3.0之后才支持); 2,第二次:android的etc/perm…
Android USB Host与HID通讯,就目前Google Developer提供的方法有bulkTransfer()与controlTransfer(),看是简简单单的两个方法,要实现真正的通讯可谓要难倒一大片android开发者,至少对于我一开始就是这样,这对和我一样不懂HID及外设等底层通讯原理的人更是一个头两个大,况且不同的HID具体通讯机制也不同,因设备而异. 先不管其他,先仔细看看bulkTransfer()与controlTransfer()方法吧,个人觉得google De…
不好意思,从上一篇到现在确实比较忙,中间又外出了一段时间,虽然也上LOFTER,或者看到一些朋友QQ上加我,给我发信息询问,有些看到了有些可能没看到,偶尔回复了一两个,也不咋的详细,在此我想说,一方面原因在我,不应该叫大家加Q,然后各位朋友都直接QQ信息发过来,结果就变成,要么没看到,要么看到当时没回,后来想回的时候又找不到各位问的是什么,如果要找聊天记录又有几位朋友还找得到给我发的问题记录?另一方面,我们的生活中有一种东西叫Email,它真的很好用,不信大家可以试试..请直接文后留言或者Ema…
去年9月份来到现在的公司,接到新公司的第一个项目就是Android USB Host与HID通讯,当时也什么都不懂,就拿着google的api 开发指南 (http://developer.android.com/guide/topics/connectivity/usb/host.html)反复的阅读反复的实验,网上的资料也只能发现 / 枚举到U盘等设备,进行HID通讯.数据传输的资料很少,当时老大给我的时间是整整一个月,听到这我说:我尽量… 因为当时发了一两篇博文(Android USB H…
Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu.com/leowenj/blog/item/429c2dd6ac1480c851da4b95.html 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由下面几个部分组成: A.MDP 高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RG…
翻译Android USB HOST API 源代码地址:http://developer.android.com/guide/topics/connectivity/usb/host.html 译者注:翻译的好不好不是太重要,重点是在翻译的过程中会把每句话都看认真看一遍,或者说是抱着翻译的思想来完毕一个读懂的目的. USB Host通信 当你的可供电Android设备处理USB host模式时,它担任着为USB总线供电,枚举连接的USB从设备等等一个主设备应用的工作. Android 3.1及…
Android 消息处理源代码分析(1) 在Android中,通常被使用的消息队列的代码在文件夹\sources\android-22\android\os下,涉及到下面几个类文件 Handler.java Looper.java Message.java MessageQueue.java Message.java public final class Message implements Parcelable { public int what; //消息种类 public int arg1…
原创文章,转载请注明出处,谢谢. Android应用程序分析主要有静态分析和动态分析两种,常见的静态分析工具是Apktool.dex2jar以及jdgui.今天突然主要到Google code上有个叫做androguard的工具,提供了一系列的Apk以及dex.odex.arsc等文件的分析处理功能.很值得学习和分析. androguard项目主页:http://code.google.com/p/androguard/ androguard是基于python的,将Apk文件中的dex文件,类,…
上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行.今天主要是讲解一下Android里面如何分析我们程序内存使用情况.以便后续可以分析我们程序瓶颈,优化方案. (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434) 1.APP默认分配内存大小 在Android里,程序内存被分为2部分:native和dalvik,dalvik就是我们普通的java使用内存,也就是我们上一篇文章分析堆栈的时候使用的内存.我们创建…
在分析Android内存泄漏之前,先了解一下JAVA的一些知识 1. JAVA中的对象的创建 使用new指令生成对象时,堆内存将会为此开辟一份空间存放该对象 垃圾回收器回收非存活的对象,并释放对应的内存空间 2.Java如何判定对象存活或死亡? 可达性分析算法 1给对象中添加一个引用计数,假如为count 2当引用这个对象时:count++ 3当count==0时:对象处于,也就是说没有其它地方在引用这个对象了,对象就处于"死亡"状态,回收对象 可达性分析算法 举个例子:像找人一样,A…
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 Kernel display接口 典型应用flow分析 介绍 Surface manager(surface flinger)简介 架构分析 流程分析 根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信.…