自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (7)
  • 收藏
  • 关注

转载 云计算之概念——IaaS、SaaS、PaaS、Daas

云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备,计算设备一般是指CPU、内存和硬盘,输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。 一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出设备不是通过主板连接,而是通过网络连接,那么这个过程就叫云计算。举几个例子来说明一下:1、我远程到客户电脑给客户处理问题,输入/输出使用的是我的鼠标、键盘和显示器,...

2020-06-18 21:25:18 744

原创 android native内存泄漏检测原理

android native内存泄漏检测原理初始化释放和分配函数的处理获取泄漏信息header的作用内存泄漏显示本文根据Android 8.1编写,代码路径在bionic目录下。初始化每个进程都会执行函数malloc_init_impl初始化内存分配框架。初始化函数void* malloc_impl_handle = dlopen(DEBUG_SHARED_LIB, RTLD_NOW |...

2020-04-16 23:26:49 1002

原创 Android-常用的颜色(链接)

1. Android-常用的颜色代码值   https://blog.csdn.net/u014616515/article/details/532929652.安卓开发中常见的RGB颜色表 https://blog.csdn.net/weixin_36431280/article/details/533074953.Android颜色对照表  https://blog.csdn.net/...

2018-08-12 17:47:21 1022

转载 Valgrind: Memory still reachable with trivial program using

Take the following trivial program:#include <iostream>int main() { return 0;}If I run this using valgrind, I'm told that there are 72,704 bytes in 1 blocks that are still reachable. Th...

2018-08-12 17:37:34 796

原创 面试相关问题(Android /C++)

(一)几个重要的知识点:1.一篇文章了解相见恨晚的 Android Binder 进程间通讯机制https://blog.csdn.net/freekiteyu/article/details/700823022.linux设备驱动uevent详解,高通平台battery上报电量实例https://blog.csdn.net/radianceblau/article/details/780...

2018-06-17 11:51:21 944

转载 IT职业技能图谱

2018-06-16 11:10:16 1348

转载 USB枚举过程

1. 枚举是什么?       枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。       USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,...

2018-06-06 21:27:22 841 1

转载 linux 学习之路(学linux必看)

转载自:http://www.oschina.net/question/587367_156024很多同学接触Linux不多,对Linux平台的开发更是一无所知。 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化, 谈谈Linux的...

2018-05-23 21:41:36 2994 2

转载 USB chirp信号测试

以下的内容转载自USB chirp信号测试,在这篇文章中详细的解释了USB高速设备的握手过程,以及通过分析D+和D-上面的波形来进行说明。很赞的一篇文章。1 信号及原理分析1.1 KJ信号说明USBchirp信号分为K信号和J信号。根据USB速率将chirp信号做如下区别:USB速率 Chirp DP DM 空闲状态 Low Speed K 1 0 K J 0 1 Full ...

2018-05-22 21:29:17 10982 3

转载 公钥,私钥和数字签名

一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但...

2018-05-09 20:28:00 222

原创 Android O新增的关于usb的三个属性 sys.usb.configfs,sys.usb.ffs.ready,sys.usb.ffs.mtp.ready

1.sys.usb.configfs该属性默认为0,通过判断kernel是否支持configfs,即判断/config/usb_gadget存在设置为1.代码在init.qcom.usb.sh中(高通平台下)。2.sys.usb.ffs.ready当sys.usb.config设置为none时,设置sys.usb.ffs.ready为0.每次设置的属性有adb时,会先start adbd。如sys...

2018-04-19 21:26:17 13593 2

原创 浅析Android下的Android.mk文件(补充)

        指定了LOCAL_MODULE_TAGS:=optional和PRODUCT_MODULE_CLASS、PRODUCT_MODULE_PATH都不起作用。必须添加PRODUCT_PACKAGES+=(模块名)。         LOCAL_MODULE_TAGS:=optional不是所有模块编译。optional: don't include this(见http://andro...

2018-04-18 19:55:05 866

原创 在Android.mk文件中输出打印消息

以下Android.mk文件可以打印$(warning $(parameter))的内容,其中parameter表示变量。也可以写$(error $(parameter)),如:system/sepolicy/Android.mk文件中的$(error BOARD_SEPOLICY_REPLACE is no longer supported; please remove from your Bo...

2018-04-17 20:36:24 5578

原创 Android.mk文件中LOCAL_CFLAGS常见设置

-DLOCAL_CFLAGS += -DXXX   相当于在所有源文件中增加一个宏定义#define-O代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化 -W[no-]<警告选项>     no- 表示诊断时忽略这个警告   编译器的警告设置参数,拥有众多的选项,下面举一些常用的例子:     -Woption 让编译器给出optio...

2018-04-17 20:18:19 15359

原创 注释多行shell命令

方法一: '被注释的多行内容 '方法二:<<eof被注释的多行内容 eof方法三:<<!被注释的多行内容 !方法四 if false ; then 被注释的多行内容 fi方法五(&&和||的就近原则)((0)) && {被注释的多行内容}方法六: << 字符 #这里的字符可以是数字或者字符都可以被...

2018-04-16 21:52:26 923

原创 Android监听UEvent事件的测试程序

Android在源码目录:system/extras/tests/uevents/中,可以监听底层UEvent事件上报的程序,其实现如下: 一、源码实现 uevent.c/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the ...

2018-04-16 21:41:03 3271 1

转载 linux之configfs简介和编程入门

一、什么是configfs是一种基于ram的文件系统configfs is a ram-based filesystem that provides the converse of sysfs's functionality.  Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-ba...

2018-04-15 15:18:19 10653

转载 腾讯 soter 原理

TENCENT SOTER之所以能实现支付级别的指纹授权安全性,主要原因有三:所有关键数据存储与操作均根本依赖TEE厂商在设备出厂之前安全环境会专门生成TENCENT SOTER设备根密钥生物授权的实质是密钥签名,TEE级别保证“无授权,不签名”。Soter 架构TENCENT SOTER中,一共有三个级别的密钥:ATTK,App Secure Key(ASK)以及AuthKey。这些密钥都是RS...

2018-04-09 23:00:50 6090

原创 Android中hw_get_module函数分析

该函数定义在hardware/libhardware/hardware.c文件中,定义如下:int hw_get_module(const char *id, const struct hw_module_t **module){ return hw_get_module_by_class(id, NULL, module);}hw_get_module()函数利用HAL层注册信息i...

2018-04-07 12:45:08 6597 2

原创 【BUG分析】persist属性设置的太早不起作用,并且不会写到磁盘中

persist属性设置的太早不起作用,并且属性不会写到磁盘中。而且会被加载存到/data/property/目录中的属性覆盖掉。system\core\init\property_service.cpp中代码如下:static int property_set_impl(const char* name, const char* value) { size_t namelen = strl...

2018-03-18 14:28:29 1853

原创 【BUG分析】手机启动时,adb打开较晚

Android版本:7.1.2内核版本:3.18要求:手机默认不开adb,只有手动打开时,以后每次开机才会打开adb,并且adb在system server启动之前打开。控制adb是否打开和USB功能的主要是两个属性:persist.sys.usb.config 和 sys.usb.config。sys.usb.config是一个临时的属性,每次关机后,都不存在了。但是,该属性主管usb功能,包括...

2018-03-18 14:01:24 1604

原创 【BUG分析】手机插着USB时手动重启,USB功能选择菜单点不动

Bug复现条件:手机插着USB到PC上时重启,USB功能选择菜单点不动Android版本:7.1.2内核版本:3.18首先,查看USB选择菜单是如何建立的。代码路径 :android-7.1.2_r1\packages\apps\Settings\src\com\android\settings\deviceinfo\UsbModeChooserActivity.java 有一个广播接收器,代码如...

2018-03-18 12:39:08 879

转载 USB描述符 包括bus hound抓包

USB描述符USB描述符信息存储在USB设备中,在枚举过程中,USB主机会向USB设备发送GetDescriptor请求,USB设备在收到这个请求之后,会将USB描述符信息返回给USB主机,USB主机分析返回来的数据,判断出该设备是哪一种USB设备,建立相应的数据链接通道。那么USB描述符信息到底是一个什么样的数据呢,USB协议中有详细描述。通用的USB描述符信息包括设备描述符、配置描述符、接口描...

2018-03-17 15:11:50 995

转载 Linux设备树语法详解

概念Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,...

2018-03-17 15:11:07 305

转载 linux usb枚举过程分析

插入一个 USB设备的处理机制总体计: 1. 中断定时查询:  2. 总体架构设计:  3. 解析各个部分:中断定时查询: Hub层处理 usb枚举 当守护程序第一次运行或usb port上状态发生变化,守护进程被唤醒都会运行hub_events函数,这个函数在usb系统中处理核心位置,usb的枚举过程就是由它完成。usb具体的枚举流程: hub_events函数static void hub_e...

2018-03-10 19:00:14 1416

转载 XpermRules: allowxperm, dontauditxperm, auditallowxperm and neverallowxperm

Extended Permission Access Vector RulesThere are three extended permission AV rules implemented from Policy version 30 with the target platform selinux that expand the permission sets from a fixed 32 ...

2018-03-03 22:09:42 2157

转载 SELinux: 定向白名单机制使ioctl更安全

动机ioctl为设备控制提供了必要的操作。典型的设备驱动支持由命令参数来区分的一套操作集,可以通过ioctl系统调用来访问。SELinux为很多系统操作提供了一一对应的访问控制,例如chown,kill,setuid,ipc_lock等。另一方面,我们使用ioctl permission这一权限,对文件描述符上的ioctl操作进行授权,这意味着,主体要么在授权后可以访问全部的ioctl操作集,要么...

2018-03-03 22:08:17 1612

转载 [FAQ04776]各个版本如何判断是否打开adb端口【google原生代码】

1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设置会根据system property 的persist.service.adb.enable 来设置。您可以看到类似如代码:[java] view plain copy// make sure the ADB_ENABLED setting val...

2018-02-24 21:19:41 1011

原创 Android中USB相关的文件

a) frameworks/base/core/java/android/hardware/usb/*Provides support to communicate with USB hardware peripherals that are connected to Android-powered devices.https://developer.android.google.cn/refer...

2018-02-24 21:13:52 559

转载 Android O 之二:HIDL相关介绍

详见:https://source.android.google.cn/devices/architecture/在上一篇博客里,大致介绍了下Android O 中treble计划的一些背景与相关基本架构,这一篇中跟大家一起来探讨下HIDL相关的内容。Android HAL类型 在此之前的ANDROID版本当中Android HAL没有什么特殊的特殊的,也么有什么分类,但是从android 8.0...

2018-02-23 20:23:25 1803

转载 Android O 之一:Android Treble 计划

Android O 前期预研之前一直传言android O的推出会包含有两部分的主要功能:谷歌打算彻底解决Android版本碎片化的问题,会在Android O上推出一个新的框架设计来解决这个这个升级问题。推出Android for Automotive ,正式进军汽车车载市场。而这两部分对我们的工作影响会比较大,第一部分可能会导致我司现存的一堆现有的工作会在以后可能不存在了。因为整个系统升级项目...

2018-02-23 20:22:33 727

转载 Android 7.0 虚拟按键(NavigationBar)源码分析 (二)之 点击事件的实现流程

转自:http://blog.csdn.net/kuaiguixs/article/details/78330982第二部分: Let's go!!!【点击事件的实现流程】1、初始化    虚拟按键点击效果的实现和实体按键相似,也是通过上报一个keyCode值,来判断哪个按钮被点击。不同的是,实体按键的keyCode值是硬件驱动层传递到上层的。而虚拟按键的keyCode值是应用层自己定义的。   ...

2018-02-11 20:59:16 818

转载 Android 7.0 虚拟按键(NavigationBar)源码分析(一) 之 View的创建流程

转自: http://blog.csdn.net/kuaiguixs/article/details/78291695最近有个需求是修改虚拟按键的单击和长按效果。所以研究了下Android关于虚拟按键的实现流程。好记性不如烂笔头,记录如下。    首先,几个重要的类://实现 单个虚拟按键的 自定义ImageView    frameworks/base/packages/SystemUI/src...

2018-02-11 20:57:58 4319

转载 android 4.4 电池电量管理底层分析(C\C++层)

参考文献:http://blog.csdn.net/wlwl0071986/article/details/38778897 简介:Linux电池驱动用于和PMIC交互、负责监听电池产生的相关事件,例如低电报警、电量发生变化、高温报警、USB插拔等等。Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态、剩余电量等信息。如果收到过温...

2018-02-11 20:56:07 1138

转载 android 4.4 电池电量显示分析(低电量提醒与电池图标)Java 层

最近工作接触到这么的东西,这是我对整个电池管理方面Java 层的分析。如果想了解底层的话,请看我的博客:android 4.4 电池电量管理底层分析(C\C++层) (http://blog.csdn.net/daweibalang717/article/details/41446993)先贴一张类与类之间的关系图:    android开机过程中会加载系统BatteryService ,说一下电...

2018-02-11 20:54:09 1070

原创 kernel log 打印之dynamic_dev_dbg

debugfs 默认路径sys/kernel/debug1.该机制只对 dev_dbg 的dynamic_dev_dbg 定义的debug log输出加以控制2.必须保证CONFIG_DEBUG_FS=y CONFIG_DYNAMIC_DEBUG=y3.adb shell并执行命令echo -n 'file dwc3-msm.c line 3440 +p' > <debugf...

2018-02-11 20:48:32 1579

转载 调试input子系统的几个关键地方

PointerLocation这个多点触控测试程序,只包括下面的两个文件,LINUX/android\development\apps\Development\src\com\android\development\PointerLocation.javaLINUX/android\frameworks\base\core\java\com\android\internal\widget\Poin...

2018-02-11 20:33:36 446

转载 Android驱动之 Linux Input子系统之TP——A/B(Slot)协议

关于Linux多点触摸协议大家可以参考kernel中的文档:https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt,而这里根据实际的例子来理解多点触摸协议。将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展

2018-02-03 17:02:42 2037 1

转载 jack 服务常见错误解决方法

jack 服务常见错误解决方法  当你编译Android时,你不需要修改任何内容。 Jack是Andriod M的默认编译工具。只需使用标准的makefile命令执行即可。当第一次执行jack时,它会在你的机器上启动一个jack编译服务:   这个服务大大提高了编译速度,因为它避免了启动一个新的JVM,加载Jack代码,初始化Jack和每次编译都要预制JIT,即使在很小的编译过程中,它也很好的节

2018-01-20 20:35:42 5827

转载 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace

Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound 简易使用手册: bus_hound5.0中文使用说明.pdf (246 K) 下载次数:9 软件和注册号: sn.txt (1 K) 下载次数:7 BusHound_v6.0.1.rar (690 K) 下载次数:11 ================================

2018-01-06 19:23:56 3753

Android10链接

Android10源码-百度网盘 Android10 AndroidQ r36源码,百度网盘下载

2020-06-14

USB-chirp序列测试

USB-chirp序列测试:根据规范,全速(Full Speed)和低速(Low Speed)很好区分。因为在设备端有一个1.5k的上拉电阻,当设备插入hub或上电(固定线缆的USB设备)时,有上拉电阻的那根数据线就会被拉高,hub根据D+/D-上的电平判断所挂载的是全速设备还是低速设备。

2018-05-22

SELinux for Android 8.0

The SELinux policy build flow for Android 4.4 through Android 7.0 merged all sepolicy fragments (platform and non-platform) then generated monolithic files in the root directory. However, this flow contradicts the primary goal of Android 8.0 architecture, which is to allow partners to update their parts of the policy, build their images ( vendor.img , boot.img , etc ), then update those images independent of the platform or vice versa (i.e., perform a platform update without updating partner images

2018-04-19

Transition Existing Products from USB 2.0 OTG to USB Type-C

Transition your existing USB 2.0 On-The-Go (OTG) products with a micro-A/B receptacle to a Type-C receptacle using the USB Type- specification

2018-04-19

USB Type-C简介

多年来,USB-IF确保了USB得到普遍应用,从而推出全新的USB Type-C™连接器。此连接器不但凭借全新的光滑可逆 外形在一般消费品市场卷起了一阵风暴,还通过显著扩展的功能集最终改变了桌面和娱乐环境。 USB Type-C电缆现在随时可以成为“通用”电缆,因为它能够通过备用模式与单一连接提供最高10 Gbps的超快数据 传输速率、100W的连续功率流以及超高带宽视频功能。 本文档适合熟悉USB2.0/USB3.0/USB3.1且对USB Type-C电缆为USB引入的扩展功能集的更多细节感兴趣的用户。

2018-04-19

微软MTP协议 Microsoft Media Transfer Protocol

微软原始的Mtp文档——Microsoft Media Transfer Protocol Specification v0.96

2018-03-26

progit-中文版

这本书的作者是github的员工。书写得非常棒,对分支等的讲解使用了很多配图,简单明了,把原理讲得非常易懂。 这书还有一个非常棒的部分就是针对不同的使用场景,设计了几个合适的版本管理策略,比如私有小项目该用什么方式控制,公共项目该用什么方式控制等,这个非常实用。 了解Git的使用,这一本书基本就够了,入门+进阶

2017-09-10

空空如也

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

TA关注的人

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