- 博客(29)
- 收藏
- 关注
原创 c++中输出浮点数
flat a = 1;flat b = 3;cout cout ANSI C++里一个浮点型若是小数部分为0,直接输出必然是不带小数点的,例如float b=3;你若想输出3.0,输出代码要这样写:cout
2017-01-25 10:34:51 3548
原创 git 用一个project添加两个远程仓库
以android的recovery项目为例,目前git branch -r中只有A仓库的分支 git branch -r m/dev -> A/v8-n-secureboot-dev A/master这是因为manifest中的recovery项目配置为: 如果要添加远程仓库B中的recovery,1 下一套含有remote A的代码2 cd bo
2017-01-22 09:26:45 938
转载 Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
一、案例我们举个案例,比如recovery升级中,碰到这个的log01-01 08:03:22.410000 217 217 W applypatch: type=1400 audit(0.0:16): avc: denied { read } for name="mmcblk0p15" dev="tmpfs" ino=3364 scontext=u:r:install
2017-01-21 11:24:31 1697 1
转载 Android源代码编译笔记(支持5.x及以上版本)
2016/10/21 中科大负责镜像的同学回复说问题已解决。2016/10/11 关于AOSP的镜像,中科大的目前不能正常使用。 可以暂时使用清华的源。这是之前的笔记,主要记录了如何搭建Android源代码编译环境进行编译。里边有一些优化和问题的记录,可能会帮助大家更快地编译出来自己的Android系统。系统与硬件为了方便,我使用了VMWare虚拟机搭载Ubuntu
2017-01-21 11:21:34 2134
原创 Androd 7.0编译错误合集
编译Android源码时,jack server 出现out of memory error 错误的解决方法:问题现象如下:问题的解决方案如下,共两步:Step1:修改jack server相关源码Step2:重启Jack server./prebuilts/sdk/tools/jack-admin stop-server
2017-01-21 11:16:44 2020
原创 android编译报错:error: ro.build.fingerprint cannot exceed 91 bytes
http://stackoverflow.com/questions/28776970/android-build-error-ro-build-fingerprint-cannot-exceed-91-bytesEdit build/tools/post_process_props.py. Change lines as follows:PROP_NAME_MAX
2017-01-20 00:29:05 3783
原创 ota升级包编译过程中firmware如何添加进来
整个分析过程中,机型名以mido为例主要可分为一 firmware如何添加进target-files.zip二 编译ota升级包时如何从target-files.zip取出firmware并添加到ota升级包三 如何向升级脚本updater-script中加入控制firmware升级的语句四 增量升级包相比全量包不同的步骤五 结论及修复方案编
2017-01-17 20:45:40 6130
原创 OPTIONS.info_dict的tool_extensions取值过程分析
1 首先在build/core/envsetup.mk中有:board_config_mk := \ $(strip $(wildcard \ $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk \ $(shell test
2017-01-17 20:43:42 1103
原创 TARGET_DEVICE_DIR取值过程分析
整个分析过程以mido为例在build/core/main.mk中, 会包含build/core/config.mk,在config.mk中,会包含build/core/envsetup.mk,在envsetup.mk中有:# Read the product specs so we can get TARGET_DEVICE and oth
2017-01-17 20:26:29 3333
原创 ota升级包中update-script脚本的生成
update-script脚本是整个ota升级的核心文件,它里面的内容就是控制升级流程的主要逻辑,实际控制着升级过程中大部分重要操作的实施细节,而处于升级包中同目录下的update-bianry负责真正执行update-script记录的操作。 在负责生成升级包的脚本ota_from_target_files.py中,不论我们调用这个脚本来产生全量包,增量包,或者是安卓新加入的bl
2017-01-17 20:09:08 4410
原创 Recovery下显示本地化文字分析
ANDROID RECOVERY UI浅析--RECOVERY下显示本地化文字分析 林洋2016年9月4日 图形绘制在本文中我们主要分析google在recovery中根据地区信息(locale)的不同,来显示国际化文字的机制。在recovery下进行升级时,不论是ota升级还是sideload升级方式,如果当前系统区域设置为中文,在进度条上面就会看到“正在安装系统更新
2017-01-17 20:06:34 2013 1
原创 Android Recovery UI浅析1——概览
最近在作一个在recovery中显示文字的工作,所以对这块研究较多,现在把研究的一点新的结果分享出来,如果有什么错误也欢迎大家在下面评论。 Android的Recovery中,利用 boottable/recovery下的minui库作为基础,采用的是直接存取framebuffer的方式,来完成recovery中所需的各种UI的绘制。在recovery的源码中,跟ui显示相
2017-01-17 19:57:57 4777
原创 Android OTA升级之升级包生成脚本ota_from_target_files
我们在这里主要分析OTA 升级过程中对ota_from_target_files.py脚本的调用,这个脚本主的作用是生成各种OTA完整包和增量包。 以生成完整OTA包为例,假设我们的命令为:./build/tools/releasetools/ota_from_target_files -n input_file_dir/target_file.zip output_file_
2017-01-17 19:53:15 4721
转载 Android-Vold, Framework和UI的通信-大结局(12)
作者:gzshun. 原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun写了好几篇文章,花儿都快谢了,终于轮到Framework发挥领导的身份了,Framework作为界面与vold之间的桥梁,用户是Framework的大爷,那么Framework就是Vold的大哥大,Framework发出一个命令,Vold不敢不遵从,只能照着Framework的意
2017-01-17 19:07:18 441
原创 a label can only be part of a statement and a declaration is not a statement
在写代码的时候,变量的声明不应该出现在label之后,比如switch语句中的case结构也可能会遇到类似的问题。PS:从一个#if…#endif宏块goto到宏块以外,会有一个编译告警。在case下面定义了变量,并给它赋了初值,当把定义和赋值分开就好了,或者是加上大括号。The language standard simply doesn'
2017-01-17 19:04:56 501
转载 Android系统典型bootloader分析
1 、bootloader是什么? 简单地说,bootloader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 An1、bootloader是什么? 简单地说,bootloader 就是在操作系统内核运行
2017-01-15 23:34:55 1930
转载 高通 MSM8K bootloader 之一: SBL1
一、 MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974、MSM8916、MSM8994等,会有微小区别。从上图,可以看出高通8K平台的boot过程非常不一般啊。相比MTK平台,或者高通7K平台,复
2017-01-15 23:32:28 1392
转载 高通 MSM8K bootloader 之二: SBL1
续:高通 MSM8K bootloader 之一: SBL1上篇将我重点关注SBL1的内容1和2基本说明完,本篇继续内容3和4。1、 CDT : Platform ID和DDR参数 2、 debug log :3、 download : msm8K 新平台软件download支持两种协议,sahara和firehose4、 ramdump :死机异常信息dump
2017-01-15 23:30:56 2199
转载 Android热插拔事件处理流程
一、Android热插拔事件处理流程图Android热插拔事件处理流程如下图所示: 二、组成1. NetlinkManager: 全称是NetlinkManager.cpp位于Android 4.x 源码位置/system/vold/NetlinkManager.cpp。该类的主要通过引用NetlinkHandler类中的onEvent()方法来接收来自内核的事
2017-01-15 17:27:00 1303
转载 取得git 打好的tag所对应的代码
先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:?git checkout -b branch_name tag
2017-01-10 21:21:16 695
原创 git tag
Git 中的tag指向一次commit的id,通常用来给开发分支做一个标记,如标记一个版本号。git tag 查看所有的taggit tag -a v1.01 -m "Relase version 1.01"过滤查看git tag -l -l , --list List tags with names that match the
2017-01-10 21:19:20 597
转载 fgets函数使用注意事项
对于fgets来说,'/n'是一个特别的字符,而'/0'并无任何特别之处,如果读到'/0'就当作普通字符读入。如果文件中存在'/0'字符(或者说0x00字节),调用fgets之后就无法判断缓冲区中的'/0'究竟是从文件读上来的字符还是由fgets自动添加的结束符,所以fgets只适合读文本文件而不适合读二进制文件,并且文本文件中的所有字符都应该是可见字符,不能有'/0'。
2017-01-09 21:56:55 1462
原创 android调试工具--dumpsys
dumpsys 执行格式为: dumpsys [option] 其中option参数可以为service和acitivity,参数service可以是系统中任意一个服务,比如meminfo服务显示内存信息,cpuinfo现实cpu信息参数acitivity可以现实所有的activity信息
2017-01-08 22:40:36 279
原创 Android原生库和架构层通信的socket
Android为原生库和架构层之间的通信提供了socket机制,在系统中为其提供了/dev/socket节点。/dev/socket节点是在init.rc文件初始化时生成的,shell@kenzo:/ $ ls /dev/socketadbdcnddnsproxyddpmddpmwrapperfwmarkdims_datadims_qmidims_rtpd
2017-01-08 12:18:24 3362
原创 ubuntu下syslog.conf 不存在
ubuntu的/etc/syslog.conf不再有!而是/etc/rsyslog.conf代替!https://wiki.ubuntu.com/KarmicKoala/ReleaseNotes
2017-01-08 11:56:56 5992
原创 sysfs文件系统各子目录含义
/sys/block 块设备目录,目前此目录已指向到/sys/devices/中设备描述符链接文件/sys/bus 设备按总线类型分层放置子目录,/sys/devices/中的所有设备都是链接于某种总线,bus子目录在每一种具体总线之下都可以找到对应每一个具体设备的描述符号链接/sys/class 设备按功能分类放置子目录,/sys/dev 按字符设备和块设备的主次号码分类放置
2017-01-08 10:50:17 805
原创 recovery的init.rc中挂载system
on boot mount ext4 /dev/block/mmcblk0p65 /system wait rw barrier=1
2017-01-03 14:33:17 1986
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人