自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

转载 foorbar

“英文单词foo,不同的字典对其解释相去甚远,一说来自中国“福”字的发音,又有解释为二战时期的一种武器。然而若把众多的解释放在编程领域,关于 foobar的说法是我认为最为贴切的解释。foobar又为foo-bar,其中bar是beyond all recognition的缩写,通俗点就是无法识别,一塌糊涂的意思。而foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团

2016-10-29 17:49:42 694

转载 Android init进程中鲜为人知的charger mode 模式

作者:K_Linux_Man假如基于Andriod系统平台的手机在没有硬件充电指示灯的情况下,你如何知道电池是否在充电呢,进入andriod系统才能进行充电指示,而我们有时候仅仅需要充电而不需要进入系统,一般的情况是,当你关机的时候,插上充电器,屏幕会出现充电的图标。这是如何做到的呢?Android 为我们提供了一个c程序,在system/core/charger/目录下。

2016-10-25 22:12:06 1159

转载 对superblock的理解

对superblock的理解首先从partition structure的结构开始:1、首先了解下block,对于ext2(ext3)文件系统而言,硬盘分区首先被划分为一个个的block,同一个ext2文件系统上的每个block大小都是一样的。但是对于不同的ext2文件系统,block的大小可以有区别。典型的block大小是1024 bytes或者4096 bytes。这个大小在创

2016-10-25 21:23:06 2574

转载 Linux下获取存储介质扇区大小

通过proc文件系统获得,在proc文件系统中有一个名为partitions的文件。这个文件中包含本地磁盘的硬盘及分区信 息。根据Linux下设备命名规则,如果设备名的最后一个字符是数字就应该是分区,否则就是硬盘。 根据这个文件,还可以知道硬盘设备名称以及每个硬盘中分区的数量和每个分区的设备名称。    获取硬盘扇区大小信息:/* get size in bytes */i

2016-10-25 21:10:03 1637

转载 Android init进程中鲜为人知的charger mode 模式

Android init进程中鲜为人知的charger mode 模式标签: androidsystemlinuxclass手机平台2012-02-26 09:45 8683人阅读 评论(10) 收藏 举报 分类:Linux 内核 Kernel(13)  Android(16) 版权声明:本文为博主原创文章,未经博主允许不得转载。

2016-10-25 16:44:59 2138 1

转载 Bash 实用技巧大全

Bash 实用技巧大全Linux 下shell基本上默认是 bash, 下面是我总结的一些技巧。&  后台运行程序 ()   使用子shell, 比如 (cd ../../commlib/; make) $()  命令替换,和 ``的作用是一样的 使用举例:比如你要在 shell 脚本中 使用 awk 脚本 awk -

2016-10-18 20:00:40 431

转载 高效Linux bash快捷键及alias总结

高效Linux bash快捷键及alias总结Posted on 2014-03-09   |   In Linux   |   暂无评论bash快捷键习惯使用编辑的快捷键可以大大提高效率,记忆学习过程要有意识的忽略功能键、方向键和数字小键盘。以下快捷键适用在bash处于默认的Emacs模式下,是由一个名为Readline的库实现的,用户可以通过命令bind添加新快捷键

2016-10-18 19:51:26 3337 1

转载 Makefile--wildcard函数

在文件名中使用通配符:Makefile的通配符为*,?,[],与shell使用的是一样的通配符。Makefile的通配符只有在targets 和prerequisites中展开,在定义变量时是不会展开的,如果想在定义变量时展开通配符,需要使用wildcard函数。如果文件名包含*,号,需要用\号转义,如foo*bar可以这样表示:foo\*bar.如在/opt/

2016-10-18 17:57:14 536

转载 Android TextUtils.isEmpty()的误解

Android TextUtils.isEmpty()的误解2016-02-26 10:56 703人阅读 评论(0) 收藏 举报 分类:Android(40) 版权声明:本文为博主原创文章,未经博主允许不得转载。之前经常使用TextUtils.isEmpty(),用来判断字符串是否为空,也误认为空格也能返回true,造成代码错误。其

2016-10-18 17:20:41 481

原创 高效Linux bash快捷键

Alt + f :按单词前移,标点等特殊字符与空格一样分隔单词(右向),同Ctrl+→Alt + b :按单词后移(左向),同Ctrl+←

2016-10-18 09:54:43 340

原创 llocating an object of abstract class type "xxxx"

通常是该类,有未实现的虚函数,需要实现。或者是父类里的虚函数子类没有实现造成的

2016-10-17 13:48:11 348

原创 Android 如何判断CPU是32位还是64位

可以利用三种方式来判断CPU是32位还是64位:1. 读取Android 的system property ("ro.product.cpu.abilist64")来判断2. 读取"/proc/cpuinfo"文件的第一行来判断3. 读取libc.so文件的ELF头部e_indent[]数组,根据数组第e_indent[4]的取值来判断[java] 

2016-10-17 09:28:23 4180

原创 Linux mktemp命令

Linux mktemp命令用于建立暂存文件。mktemp建立的一个暂存文件,供shell script使用。mktemp 命令及选项   没有选项时建立本地临时文件-t  在系统的临时目录/tmp 下建立临时文件-d  建立临时目录语法mktemp [-qu][文件名参数]参数:-q  执行时若发生错误,

2016-10-16 19:15:15 591

原创 Makefile中$@是什么作用

$@表示生成目标 比如boot.o : boot.c    gcc -o $@ -c $     其中 $@表示生成的目标 boot.o $

2016-10-16 16:19:20 2231

转载 如何调试makefile变量

如何调试makefile变量2011年3月1日陈皓发表评论阅读评论22,095 人阅读    六、七年前写过一篇《跟我一起写Makefile》,直到今天,还有一些朋友问我一些Makefile的问题,老实说,我有一段时间没有用Makefile了,生疏了。回顾,这几年来大家问题我的问题,其实很多时候是makefile的调试问题。所以,就像我在之前的那篇关于GDB的技巧的

2016-10-14 14:45:04 282

原创 android中carrier表示什么

android中一般用carrier表示运营商的意思

2016-10-14 14:42:56 3003

原创 makefile调试2--显示而不执行make

如果make执行时,带入make参数“-n”或“--just-print”,那么其只是显示命令,但不会执行命令,这个功能很有利于我们调试我们的Makefile,看看我们书写的命令是执行起来是什么样子的或是什么顺序的。而make参数“-s”或“--slient”则是全面禁止命令的显示

2016-10-12 22:15:01 3865

转载 makefile中的call函数

call函数是唯一一个可以用来创建新的参数化的函数。你可以写一个非常复杂的表达式,这个表达式中,你可以定义许多参数,然后你可以用call函数来向这个表达式传递参数。其语法是:$(call ;,;,;,;...)当make执行这个函数时,;参数中的变量,如$(1),$(2),$(3)等,会被参数;,;,;依次取代。而;的返回值就是 call函数的返回值。例如:reverse =

2016-10-12 21:12:41 20597 1

原创 Makefile调试1--输出打印信息

在makefile中打印输出信息的方法是:$(warning xxxxx)或者$(error xxxxx)输出变量方式为:$(warning  $(XXX))例如:$(warinning   $(CLEAR_VAR))执行命令:make -p > xx在对应的路径 下,执行makefile,    -p, --print-data-base

2016-10-12 21:11:41 6579

转载 linux下的二进制文件比较命令cmp

cmp 比较二进制文件内容差异功能:cmp 命令逐字节比较两个文件内容。如果两个文件内容完全,则cmp命令不显示任何内容。若两个文件内容有差异,会显示第一个不同之处的字节数和行数编号。如果文件是 “-” 或没给出,则从标准输入读入内容。一般用cmp命令比较二进制文件,diff命令比较文本文件。语法:cmp [选项] [文件1] [文件2]-l

2016-10-12 14:09:41 40692

转载 linux比较文件命令-diff

diff[参数][文件1或目录1][文件2或目录2]使用实例:实例1:比较两个文件命令:输出:[root@localhost test3]# diff log2014.log log2013.log 3c32014-03---> 2013-038c82013-07---> 2

2016-10-12 13:48:24 746

原创 git add添加多个文件

git add添加多个文件时,多个文件名之间用空格隔开

2016-10-12 10:22:28 17249 1

转载 ramdisk.img system.img userdata.img 分析

Android 源码编译后,在out/target/product/generic下生成的三个镜像文 件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。 ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,android加载 这3个映像文件后,会把

2016-10-11 13:36:37 265

原创 过滤git log中的合并(merge)提交

过滤合并提交git log输出时默认包括合并提交。但是,如果你的团队采用强制合并策略(意思是merge你修改的上游分支而不是将你的分支rebase到上游分支),你的项目历史中会有很多外来的提交。你可以通过--no-merges标记来排除这些提交:git log --no-merges另一方面,如果你只对合并提交感兴趣,你可以使用--merges标记:git log

2016-10-11 13:34:02 12997

原创 过滤git log的提交历史

如何用git log选择项目历史中的特定提交:按数量git log最基础的过滤选项是限制显示的提交数量。当你只对最近几次提交感兴趣时,它可以节省你一页一页查看的时间。你可以在后面加上-选项。比如说,下面这个命令会显示最新的3次提交:git log -3按日期如果你想要查看某一特定时间段内的提交,你可以使用--after 或 --befo

2016-10-11 13:31:29 8587

原创 bash shell的快捷键

crtl + shift + f  搜索ctrl +u  删除当前字符左边的所有字符Ctrl + K 删除当前字符右边的所有字符在终端的~/.bash_profile里加一行set -o vi开启vim模式,然后当你输完之后发现中间有字输错了的时候按esc,/错字,回车就跳到错字了,x之后i插入新的就好了

2016-10-11 11:58:46 268

原创 拉取aosp特定分支和特定project代码并merge到本地分支

以recovery为例,在https://Android.googlesource.com/platform/bootable/recovery下可以找到recovery下的所有branch和tagsgit pull的-t 参数支持branch和tags,在本地project的路径下执行即可git pull https://android.googlesource.com/platfo

2016-10-11 11:50:42 709

原创 如何单独下载aosp android下的某个project

以recovery为例,在https://android.googlesource.com/platform/bootable/recovery下可以找到recovery下的所有branch和tagsgit clone支持-b  因此还可以在下载这个project时制定branch或者tagsgit clone https://android.googlesource.com/plat

2016-10-11 10:33:52 1038

原创 git push命令

git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。$ git push :其中 远程主机名可以通过git remote -v查看,输出中的第一列就是远程主机名

2016-10-10 18:16:54 389

原创 Makefile中的文件名操作函数--dir

$(dir )    名称:取目录函数——dir。    功能:从文件名序列中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。    返回:返回文件名序列的目录部分。    示例: $(dir src/foo.c hacks)返回值是“src/ ./”。

2016-10-10 08:51:02 8990

原创 linux下按顺序输出所有环境变量

执行env输出的所有环境变量不是按照字母顺序排的,直接执行export命令,可以按字母顺序输出环境变量。

2016-10-09 22:19:56 10881

原创 Makefile中指示符“include”、“-include”和“sinclude”的区别

如果指示符“include”指定的文件不是以斜线开始(绝对路径,如/usr/src/Makefile...),而且当前目录下也不存在此文件;make将根据文件名试图在以下几个目录下查找:首先,查找使用命令行选项“-I”或者“--include-dir”指定的目录,如果找到指定的文件,则使用这个文件;否则继续依此搜索以下几个目录(如果其存在):“/usr/gnu/include”、“/usr/loc

2016-10-09 17:41:37 322

原创 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”elseendififeq ($(OPT),define)    VRE ?= “Hello World! First!”endif

2016-10-09 15:30:10 243

原创 显示Git栈内的所有备份

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

2016-10-09 14:31:36 506

转载 error: insufficient permissions for device

试用adb shell时出现error: insufficient permissions for device,而且我们输入adb devices显示:xxnan@xxnan-pt:~$ adb devicesList of devices attached ????????????    device那么我们怎么解决它呢?首先在终端查看usb的I

2016-10-08 14:00:57 353

转载 #include <unistd.h> 的作用

由字面意思,unistd.h是unix std的意思,是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。 参考自 http://hi.baidu.com/w_dalu/item/e8d29860374ae02369105b11unistd.h在unix中类似于window中的w

2016-10-06 19:39:21 742

原创 update.zip包的签名

update.zip包的签名:update.zip更新包在制作完成后需要对其签名,否则在升级时会出现认证失败的错误提示。而且签名要使用和目标板一致的加密公钥。加密公钥及加密需要的三个文件在Android源码编译后生成的具体路径为:               out/host/linux-x86/framework/signapk.jar                build/targ

2016-10-06 14:09:01 13448 1

转载 Android 5.x OTA Update官方文档(五、Recovery系统下分区映射)

Recovery系统包含了很多钩子程序,因此OAT更新除了可以更新Android系统也可以更新设备的其他部分。(如基带、无线电处理器)。分区映射   从Android2.3起,平台开始支持eMMC存储设备和ext4文件系统。它同样支持MTD设备和yaffs2文件系统。    分区映射文件TARGET_RECOVERY_FSTAB一般会被recovery二进制程序和打包工具所

2016-10-06 14:03:36 940

转载 如何让Vim Gui启动时默认自动最大化

如何让Vim Gui启动时默认自动最大化字数78 阅读163 评论0 喜欢0如果你是Unix/Linux,在vimrc里添加if has("gui_running") " GUI is running or is about to start. " Maximize gvim window (for an alternative on Windows, see si

2016-10-04 19:46:58 8710 2

转载 Linux下android调试中adb报错"error: insufficient permissions for device"

在下载了android SDK,并安装完adb后,在使用的时候你很有可能碰到“error: insufficient permissions for device”这样的出错信息。这是由于adb server运行时的权限不够的问题产生的。所以,我们使用超级用户root,然后执行root# adb kill-server然后root# adb star

2016-10-04 13:58:32 4132 1

空空如也

空空如也

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

TA关注的人

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