Android总结
文章平均质量分 71
stoic163
转载先进,学习验证,总结分享!
展开
-
Ubuntu14.04中使用repo时遇到无readline模块问题的总结
首先错误内之容:File "/home/lin.yuan/bin/repotcl", line 92, in <module> import readlineImportError: No module named readline原创 2021-05-31 16:09:11 · 854 阅读 · 1 评论 -
Ubuntu 18 系统中对openssl进安降级安装方法总结
1.下载openssl下载链接:https://www.openssl.org/source/snapshot/里边是当前仍支持版本的快照;同版本不同日期内容可能不同的,所以下载一般下对应版本的最新快照;安装出错则尝试另一个快照。解压后的文件夹下有INSTALL和README等文件。2.安装以root身份执行:openssl version #查看安装前openssl版本tar -zxf openssl-1.0.2-stable-SNAP-20160915.tar..原创 2021-05-08 18:04:52 · 5088 阅读 · 0 评论 -
Linux中Input的设备驱动框架结构
先看框架图:再看看代码中的结构:分析一下Input_dev结构(include/linux/input.h):struct input_dev { const char *name; //设备名 const char *phys; //设备系统层的物理路径 const char *uniq; struct input_id id; //输入设备ID 总线类型;厂商编...原创 2020-03-06 16:58:55 · 355 阅读 · 0 评论 -
Android中getevent获取Input事件的用法
getevent 指令用于获取android系统中 input 输入事件,比如获取按键上报信息、获取触摸屏上报信息等。具体的代码目录:/system/core/toolbox/getevent.c。先看看效果:查看getevent -h获得相关信息:msm8909w:/ $ getevent -hgetevent -hUsage: getevent [-t] [-n] [-...原创 2020-03-06 15:46:09 · 3076 阅读 · 0 评论 -
关于Ubuntu16.04插手机使用adb命令报错“error:insufficient permissions for device“的问题
主要是使用adb命令连接手机,不用在手机连接选项中修改连接选项。会报以上错误。先装好adb命令:sudo apt install adb使用adb devices 命令会显示:???????????? device连接手机,使用lsusb命令查看你手机的VendorID和ProductID。之后,在/etc/udev/rules.d/目录下创建51-android.rules文件(如果有就直...原创 2018-06-05 14:36:15 · 1263 阅读 · 0 评论 -
Android8.1关机充电动画位置
1.定义屏幕分辨率以取图片的目录地方:vendor/mediatek/proprietary/bootable/bootloader/lk/project/xxx.mk中:BOOT_LOGO := hd720同事图片资源的文件目录在:vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo下面有很多各种分辨率的图片原始文件,并且在log...原创 2018-05-26 15:45:39 · 4349 阅读 · 0 评论 -
android关机充电流程、充电画面显示
一、Android正常开机流程、关机充电流程在写这篇文章之前我们先看两个流程:正常开机流程,关机充电系统启动流程1、正常开机流程,按开机键。可大致分成三部分(1)、OS_level:UBOOT、kenrel、init这三步完成系统启动;(2)、Android_level:这部分完成android部的初始化;(3)、Home Screen:这部分就是我转载 2018-02-02 11:32:56 · 6915 阅读 · 0 评论 -
深层次的讲解repo原理
软件工程由于需要不断迭代开发,因此要对源代码进行版本管理。Android源代码工程(AOSP)也不例外,它采用Git来进行版本管理。AOSP作为一个大型开放源代码工程,由许许多多子项目组成,因此不能简单地用Git进行管理,它在Git的基础上建立了一套自己的代码仓库,并且使用工具Repo进行管理。工欲善其事,必先利其器。本文就对AOSP代码仓库及其管理工具repo进行分析,以便提高我们日常开发效率。转载 2017-12-13 11:55:19 · 10550 阅读 · 1 评论 -
repo用法详解
Android 为企业提供一个新的市场,无论大企业,小企业都是处于同一个起跑线上。研究 Android 尤其是 Android 系统核心或者是驱动的开发,首先需要做的就是本地克隆建立一套 Android 版本库管理机制。Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 Repo 命令行工具,对 Git 部分命令封装,转载 2017-12-13 11:52:23 · 937 阅读 · 0 评论 -
splitimg脚本解析bootimg及打包bootimg
简介:recovery.img的构成(与bootimg原理一致),它是由boot_img_hdr + zImage + recovery-ramdisk构成。boot_img_hd是个结构体它描述了很多重要的信息。 1 struct boot_img_hdr 2 { 3 unsigned char magic[BOOT_MAGIC_SIZE];4转载 2017-12-13 11:06:16 · 1400 阅读 · 0 评论 -
Android init.rc语法介绍
一、简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action, Commands,Services, Options. 在init.rc 文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的,如果需要在单词内使用空格,那么得使用转义字符"\", 如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行转载 2017-12-11 15:26:21 · 7171 阅读 · 1 评论 -
Android系统启动流程——解析init进程启动过程
最近主要是在看android关机充电流程,对android启动有些迷惑,结合网上博客专家的文章,加一些自己的理解。1.init简介init进程是Android系统中用户空间的第一个进程,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建zygote(孵化器)和属性服务等。init进程是由多个源文件共同组成的,这些文件位于源码目录system/core/init。2.引入init...转载 2018-08-28 13:53:16 · 465 阅读 · 0 评论 -
深入讲解Android Property机制
1概述Android系统(本文以Android 4.4为准)的属性(Property)机制有点儿类似Windows系统的注册表,其中的每个属性被组织成简单的键值对(key/value)供外界使用。我们可以通过在adb shell里敲入getprop命令来获取当前系统的所有属性内容,而且,我们还可以敲入类似“getprop属性名”的命令来获取特定属性的值。另...转载 2019-03-26 11:11:05 · 9872 阅读 · 6 评论 -
Android平台如何确定deconfig及dtsi的总结
1.在android目录下,使用source build/envsetup.sh2.再lunch之后:3.lunch msm8909w-userdebug之后:可以看到TARGET_PRODUCT=msm8909w4.在android目录下搜msm8909w:5.可以进入该目录下,查询AndroidBoard.mk文件。6.在AndroidBoard.mk文件...原创 2019-10-08 15:41:08 · 2960 阅读 · 2 评论 -
高通平台power_supply 框架下添加第三方充电IC的驱动方法
1.power_supply电源框架介绍:power supply framework在kernel/drivers/power/下。内核抽象出来power supply子系统为驱动提供了统一的框架。功能包括:1.抽象PSY设备的共性,向用户空间提供统一的API;2.为底层PSY驱动的编写,提供简单、统一的方式,同时封装并实现公共逻辑。power supply class位于d...原创 2019-08-16 16:13:53 · 10290 阅读 · 3 评论 -
IE浏览器高通网站打不开dump分析选择目录总结
首先需要安装jdk与jre最新版本安装之后配置好路径,重启电脑如果浏览器提示:Unable to load Java Applet. Please make sure JRE is updated.就如下图进行操作:在浏览器设置->安全->去掉ActiveX筛选的前面的√当死机之后,会有相应的log,QPST configuration 软件之后就...原创 2019-08-16 15:36:29 · 716 阅读 · 1 评论 -
高通平台电池充电的JEITA温升控制策略总结
JEITA规范将锂电池分为cold,cool,good,warm,hot,一般划分如下:temp < 0 ℃ :cold0 ℃ < temp < 10 ℃ :cool10 ℃ < temp < 45 ℃ :good45 ℃ < temp < 55 ℃ :warmTemp > 55 ℃ :hotJEI...原创 2019-08-16 15:19:23 · 11827 阅读 · 4 评论 -
高通平台充电驱动文件中添加延时工作队列
一.在相关的驱动结构体中添加相关的声明,如下:二.在驱动函数的probe中进行定义和初始化:在这里使用create_singlethread_workqueue进行创建,而不是使用create_workqueue,主要是前者是单CPU的,后者是在每个CPU上都会创建工作队列。调用INIT_DELAYED_WORK是进行工作队列的任务初始化,即延时工作队列chg_delay_wo...原创 2019-08-16 14:41:20 · 725 阅读 · 3 评论 -
Android 电池管理系统
一、Android 电池服务Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态、剩余电量等信息。如果收到过温报警和低电报警,系统会自动触发关机流程,保护电池和机器不受到危害。Android电池服务的启动和运行流程:Android电池服务的源码结构 Framework\base\services\ja...转载 2019-05-31 08:43:56 · 669 阅读 · 1 评论 -
Android Init Language语法介绍
init.rc简介init.rc文件由系统第一个启动的init程序进行解析.它由”Android Init Language”语言编写而成.init.rc文件可以在你android设备根目录下找到.还记得我们上次编译的Android源码么?如果你已经编译过源码了,那么可以在out/target/generic/root/目录下找到该文件.要想读懂init.rc文件,首先要掌握Android...原创 2019-03-26 16:32:25 · 980 阅读 · 0 评论 -
句柄的理解,与指针的区别
Handle(句柄)在Windows中的含义很广泛,以下关于谈到的Handle除非特别说明,将仅限于进程、线程的上下文中。1、先来谈谈HandleHandle本身是一个32位的无符号整数,它用来代表一个内核对象。它并不指向实际的内核对象,用户模式下的程序永远不可能获得一个内核对象的实际地址(一般情况下)。那么Handle的意义何在?它实际上是作为一个索引在一个表中查找对应的内核对象的实际...原创 2019-03-26 13:43:14 · 1437 阅读 · 0 评论 -
Android系统架构与系统源码目录
前言技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是《Android开发艺术探索》的姊妹篇。在这本书的最后一章我会分析Android底层源码,但是毕竟是一本Android应用开发的书,对于底层源码阅读也只能带大家入个门。因此,在博客中我会新开一个“系统源码解析”的系列,该系列的开篇就是本篇文章。转载 2017-10-20 09:49:06 · 338 阅读 · 0 评论 -
USB学习笔记——OTG功能
USB OTG的工作原理 OTG补充规范对USB 2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。OTG有两种设备类型:两用OTG设备(Dualrole device)和外设式OTG设备(Peripheralonly OTG device) 。两用OTG设备完全符合USB 2.0规范,同时,他还要提供有限的主机能力和一个MiniAB插座、支持主机流通协议(Ho转载 2017-06-24 10:24:33 · 2259 阅读 · 0 评论 -
repo的使用
1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo>~/bin/repo 来下载 repo , repo脚本授权:chmod a+x ~/bi原创 2017-03-23 11:40:32 · 350 阅读 · 0 评论 -
WIFI下使用adb命令
(ADB Shell over WiFi):-Connect device to the same WiFi network as your PC is connected to (PC must be connected to WiFi)-Then in settings->wifi/wlan select network name to find out your device's原创 2017-04-26 14:22:46 · 1266 阅读 · 0 评论 -
MTK平台下Battery驱动分析及充电流程
转自:http://blog.csdn.NET/baidu_34021173/article/details/51105223主要涉及代码:Kernel:kernel-3.10\drivers\power\mediatek\kernel-3.10\drivers\misc\mediatek\mach\mt6580\\power\MTK Bat转载 2017-05-20 16:16:55 · 2771 阅读 · 0 评论 -
MTK65XX平台充电调试总结
摘要:调试电池的充放电管理,首先需要深入了解锂电池的电池原理和特点,充放电特性以及基本的电池安全问题。然后需要对MTK的电池管理驱动程序有深入的了解,理解电池充放电算法的基本原理。在此基础上,对充放电导致的问题进行调试优化。 一、 锂电池工作原理和特性1.工作原理:锂离子电池以碳素材料为负极,以含锂的化合物作正极。它主要依靠锂离子在正极和负极之原创 2017-05-23 10:25:12 · 1391 阅读 · 0 评论 -
MT6589充电模块浅析
1. 原理图:VBUS:USB正极VCDT:充电电压检测脚ISENSE:充电电流检测电阻的正极BATSNS:充电电流检测电阻的负极BAT:电池正极引脚BAT_ON:电池NTC(热敏电阻)引脚2.软件架构3.充电电流、电压的计算通过读取PMIC的寄存器直接可读到VBAT、VISENSE、VCharger、Vbat_temp转载 2017-05-23 17:30:42 · 1140 阅读 · 0 评论 -
Ubuntu16.04中Android编译环境适配
Android编译环境的网址:https://source.android.com/source/initializingEstablishing a Build EnvironmentThis section describes how to set up your local work environment to build the Android source fi原创 2017-05-24 09:14:27 · 1766 阅读 · 0 评论 -
MTK Android Driver :battery
6.PM 充电6.1 配置文件位置:CUSTOM_KERNEL_BATTERY= batterymediatek\custom\\kernel\battery\battery\cust_battery.hmediatek\custom\\kernel\battery\battery\custom_fuel_gauge.h 6.2充电常用参数修改:..\mediatek\转载 2017-06-02 17:51:01 · 716 阅读 · 0 评论 -
手机充电原理分析及问题总结
(1)充电流程介绍:当充电器插入时,亦即为PMIC充电模块提供了Vcharge电压,这时会产生一个充电中断信号到CPU,通知CPU现在已经进入充电状态。CPU开始启动如下模块:1,ADC采样,主要是采集Vchrg,Vbat及从MOSFET漏极输出的电压,可以算出充电电压和充电电流;2,发消息给MMI层,让它显示充电状态及一些采样数据;3,检测电池电压有没有超过保护电压及电池转载 2017-06-02 17:52:47 · 1582 阅读 · 2 评论 -
Qualcomm平台camera调试移植入门
1 camera基本代码架构 高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略;在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个daemon进程中进行管理:图1 Qualcomm平台c原创 2017-06-28 16:15:00 · 376 阅读 · 1 评论 -
系统移植之bootloader移植
做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定移植步骤。首先看一下boot的启动流程:Bootloader执行最基本的硬件初始化操作。如关闭中断,关闭看门狗以避免处理器被复位,以及关闭MMU功能,关闭处理器缓存(数据缓存一定要关闭,指令缓存可以打开),设置系统时钟,初始化内存等。这一阶段代码通常由汇编代码编写,为了运行下一阶段的C程序还必须设置好堆栈。如原创 2017-06-30 17:52:25 · 1385 阅读 · 0 评论 -
Battery Charging Specification 1.2 中文详解
1. Introduction 1.1 Scope 规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0规范的扩展,用于专用 充电器(DCP)、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用转载 2017-03-10 10:12:58 · 1992 阅读 · 1 评论 -
USB BC1.2的三种端口
BC1.2规范简要规定了三种不同类型的USB端口和两种关键对象。“充电”端口是可提供500mA以上电流的端 口;“下行”端口按照USB 2.0规范传输数据。BC1.2规范也确定了每个端口应如何向终端设备枚举,以及识别应用 端口类型的协议。 三种USB BC1.2端口类型为SDP、DCP和CDP 。 BC1.2的三种端口 ● 标准下行端...转载 2017-03-09 11:21:57 · 20873 阅读 · 0 评论 -
Android设备间USB传输(OTG)
1. USB概述 为了统一电脑和外围设备的接口标准,方便用户使用以及端口扩展,Intel和USB-IF组织于1994年开始开发一个通用总线标准-- USB(Universal Serial Bus),并在1995年发布USB1.0标准、2000年发展到USB2.0标准、目前已经更新到了USB3.0标准;另外,USB组织也在2004年提出了Wireless USB (无线USB)标转载 2017-06-28 16:12:15 · 3022 阅读 · 0 评论 -
Android驱动之MTP框架与流程
概要本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第3部分 MTP启动流程 详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介绍。转载 2017-07-13 09:59:56 · 1851 阅读 · 0 评论 -
Android USB/MTP相关代码
1. 代码位置packages/providers/MediaProvider/src/com/Android/providers/media/MtpReceiver.Javapackages/providers/MediaProvider/src/com/android/providers/media/MtpService.javapackages/providers/MediaPr转载 2017-07-13 10:02:15 · 2326 阅读 · 0 评论 -
MTK USB软件框架
MTKUSB软件框架及其MassStorage Class规范学习总结目录一 MTKUSB支持功能设备二 USB软件体系结构介绍2.1代码目录2.2软件架构2.3主要数据结构,函数,宏,变量三MS功能设备分析3.1 MS概述3.2 MS功能模块组成3.3 MS时序图以及消息流程3.4MS数据传输转载 2017-08-18 16:54:41 · 3452 阅读 · 0 评论 -
Android之intent学习笔记
【正文】Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要。一、什么是Intent1、Intent的概念:Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之转载 2017-07-13 14:03:35 · 401 阅读 · 0 评论