自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 android N dmesg源码分析

dmesg源码位置:external/toybox/toys/lsb/dmesg.csystem/core/toolbox/dmesg.c(应该不是这个)在external/toybox/Android.mk的ALL_TOOLS变量中添加了dmesg.c,编译出的/system/bin/dmesg其实是一个指向/system/bin/toybox的符号链接

2017-05-21 21:53:38 2295

原创 Suppress -Wtautological-compare warning

https://stackoverflow.com/questions/15864461/suppress-wtautological-compare-warningYou can disable it for the entire file by adding -Wno-tautological-compare to the Clang command line (a

2017-09-30 14:24:14 1309 2

原创 Android NDK 工具链的使用方法(Standalone Toolchain)

首先需要确定目标机器的指令集。如果是 x86 的机器,用 x86-4.4.3 版本的工具链;如果是 arm 指令的,用 arm-Linux-androideabi-4.4.3 版本 (x86-4.4.3 和 arm-linux-androideabi-4.4.3 位于ndk目录中)1、gcc 的sysroot 选项sysroot 选项设定 gcc 在编译源码的时候,寻找

2017-09-13 23:13:24 1140

转载 调整内核printk的打印级别

有时调试内核模块,打印信息太多了,可以通过修改/proc/sys/kernel/printk文件内容来控制。默认设置是7   4   1   7# cat /proc/sys/kernel/printk7       4       1      7该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅syslo

2017-07-27 21:20:29 1323

翻译 Android 7.0 开发者版本

Android 7.0 开发者版本主要的开发者功能多窗口支持通知JIT/AOT 编译快速的应用安装路径随时随地低电耗模式后台优化SurfaceView流量节省程序Vulkan APIQuick Settings Tile API号码屏蔽来电过滤语言区域和语言新增的表情符号Android 中的 ICU4J APIWebViewOpenGL ES 3.2 APIAn

2017-07-25 11:36:37 672

翻译 Android 7.0 行为变更

Android 7.0 行为变更本文内容性能提升低电耗模式后台优化权限更改在应用间共享文件无障碍改进屏幕缩放设置向导中的视觉设置NDK 应用链接至平台库Android for Work注解保留其他重要说明API 差异API 23 至 API 24另请参阅Android 7.0 开发者版本Androi

2017-07-24 10:49:36 720

转载 Android 6.0 变更

Android 6.0 变更本文内容运行时权限低电耗模式和应用待机模式取消支持 Apache HTTP 客户端BoringSSL硬件标识符访问权通知音频管理器变更文本选择浏览器书签变更Android 密钥库变更WLAN 和网络连接变更相机服务变更运行时APK 验证USB 连接Android for Work 变更API 差异API 级

2017-07-24 10:45:02 406

转载 Android recovery.img 支持adb shell

Android recovery.img 支持adb shell2016-08-31 12:09 1527人阅读 评论(0) 收藏 举报 分类:Android平台(27) 版权声明:本文为博主原创文章,转载请注明出处。android recovery 模式下出于安全的考虑,一般禁止adb  和adb shell 登陆。如果需要在rec

2017-07-19 20:20:55 1115

转载 Android NDK 工具链的使用方法(Standalone Toolchain)

Android NDK 工具链的使用方法(Standalone Toolchain)标签: 工具androidgcc脚本编译器windows2011-07-06 12:47 39771人阅读 评论(2) 收藏 举报 分类:Android NDK(10) 版权声明:本文为博主原创文章,未经博主允许不得转载。首先需要确定目标机器的指令

2017-07-18 10:03:01 2141

转载 Why are there so many different Android kernels (technical answer please)

23down voteacceptedKernels vary from manufacturer to manufacturer. A lot of those kernels come from the pure stock kernel line of sources found on CAF, what these manufacturers do is take

2017-07-13 15:50:46 1753

转载 What is the difference between the Linux Kernel and the Android Kernel?

https://android.stackexchange.com/questions/47650/what-is-the-difference-between-the-linux-kernel-and-the-android-kernel6down voteThe differences change from versio

2017-07-13 10:53:39 744

转载 如何在Cygwin中使用Z-shell

Cygwin是个很牛逼的东西。Cygwin是Unix上的许多自由软件在Microsoft Windows上的实现。通过Cygwin,你就可以在Windows上使用你在Unix或Linux上熟悉的各种(不是全部)shell命令了。你在安装Cygwin(就是那个setup.exe文件)时,在Select Packages步骤,可以通过搜索安装你想要装的软件包,比如说 你可以通过选择Editer

2017-07-13 03:09:00 573

原创 ubuntu查看已安装所有软件包

dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发

2017-07-13 01:38:43 78463

原创 查看linux系统发行版的命令

lsb_release$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription:    Ubuntu 16.04.2 LTSRelease:        16.04Codename:       xeniala$ lsb_release --helpUs

2017-07-13 01:01:31 893

原创 android版本与linux内核版本对应关系

https://android.stackexchange.com/questions/51651/which-android-runs-which-linux-kernelAndroid Version |API Level |Linux Kernel in AOSP----------------------------------------------------

2017-07-12 20:29:54 34211

转载 log中的Total PSS by OOM adjustment

OOM机制是机器底层的一种强制保鲜,在OOM发生的时候内核会排序强制杀掉进程来保证系统的继续运行,同样这种OOM异常容易发生在低内存机器上,比如512M。首先系统会根据程序是否是空进程(已经由用户关闭的不带有任何服务和provider的进程),是否有服务,是否有provider,是否为前台进程,来排序,可以输入 adb shell dumpsys meminfo来查看,列出信息中的Total

2017-07-12 20:18:35 10635

转载 Boolean.getBoolean(String name)

Boolean.getBoolean(String name)这个方法经常误导使用者,使用者经常会以为是通过一个String的"true"转换为Boolean的true,但结果却不是这样的.英文的API:------------------------------------------------------------------------------------------

2017-07-10 17:22:26 3024

转载 Bash Co-Processes

http://www.linuxjournal.com/content/bash-co-processesOne of the new features in bash 4.0 is the coproc statement. The coproc statement allows you to create a co-process that is connected to

2017-07-10 17:14:53 431

翻译 Submitting Patches  _  Android Open Source Project

This page describes the full process of submitting a patch to the AOSP, including reviewing and tracking changes with Gerrit (https://android­review.googlesource.com/).PrerequisitesBefore you foll

2017-07-10 11:49:28 822

转载 ​u盘安装win10系统1703的方法

u盘安装win10系统1703的方法新发布的镜像里由于install.win文件大于4GB而无法直接复制到fat32格式U盘根目录,由于uefi只支持fat32文件格式这就导致了一些问题。百度了一下可以用Rufus这个软件解决,再Rufus操作界面上,文件系统选择NTFS;分区方案选择uefi gpt然后就可以了,此方法用ntfs解决了install.win文件大于4g的问题,但是不能ue

2017-07-10 03:25:46 7772

原创 cp命令保持原来文件的相应权限

用-p 或-a参数eg --preserve=mode,ownership,timestamps$info cp‘-a’‘--archive’     Preserve as much as possible of the structure and attributes of the     original files in the copy (but do n

2017-07-09 18:01:07 30647

原创 aosp framework子目录解析

framework/base下各子目录 ~/src/aosp_master/frameworks $ tree base/ -L 1base/├── Android.bp├── Android.mk├── api 全是xml文件,定义了API├── CleanSpec.mk├── cmds android中的重要命令(am, app_proce等)├── compi

2017-07-08 18:37:53 1720

原创 LOCAL_PACKAGE_NAME

LOCAL_PACKAGE_NAME 指定APP应用名称LOCAL_MODULE  除应用(apk)以LOCAL_PACKAGE_NAME指定模块名以外,其余的模块都以LOCAL_MODULE指定模块名。

2017-07-07 16:43:28 5667

原创 git对比同一project不同分支的差异

git difftool 分支名A 分支名B(分支名B可以用 .   代表当前分支)

2017-07-07 09:16:39 2512

原创 repo forall

repo forall可以遍历每个repo仓库并执行同样的命令用法为:repo forall [...] -c [...]-c后可以直接跟任何shell命令eg:repo forall -p -c git checkout branch_namerepo forall -hUsage: repo forall [...] -c [...]repo

2017-07-05 20:34:22 7144 1

转载 Android 常用工作命令

Android 常用工作命令mmm,mm,m,croot,cgrep,jgrep,resgrep,godir官方定义:Invoke “. build/envsetup.sh” from your shell to add the following functions to your environment:– croot: Changes directory to

2017-07-05 20:25:08 282

原创 BUILD_FINGERPRINT cannot contain spaces

build/core/Makefile:160: *** BUILD_FINGERPRINT cannot contain spaces: "Android/aosp_arm/generic:7.1.1/NMF26F/eng.xxx.20170701.150615 :eng/test-keys".解决方法build/core/Makefile:# The string us

2017-07-01 15:14:28 2331

转载 Linux系统中对SSD硬盘优化的方法

Linux系统中对SSD硬盘优化的方法2011-10-1 笑看风云 硬件这里说的优化是针对EXT4格式,因为看了很多国外网站的很多读写评测,目前来说,EXT4在SSD硬盘是最快的,所以推荐使用SSD硬盘的使用EXT4格式。优化方案如下:文章提到的fstab在/etc里面,可以直接运行"sudo gedit /etc/fstab"来修改 1、关闭日志功能

2017-07-01 11:16:38 1294

转载 emmc FITRIM/discard命令在android系统中提升write performance的运用

SSD/emmc 存储设备discard命令的使用意义及使用方法,请参考xfs官网上的这篇文章,描述详细。 http://xfs.org/index.php/FITRIM/discardFITRIM/discard我的理解是:discard命令,只是将page标识为dirty状态,并未做真正的block erase操作。而当一个block大部份page都标识为d

2017-07-01 11:13:26 1900

转载 全面解析Linux 内核 3.10.x - 进程调度 - 调度算法

伟大的国家之所以伟大,那是因为一切都井然有序。何谓调度?调度算法作为内核的几大核心之一,其重要程度可见一斑。 一个形象的比喻是,硬件好比一个国家拥有的资源(水,土地,矿产,石油,能源等)。那么操作系统就好比执政党。而执政党(操作系统)的效率以及能力都是由办事的效率(进程的执行流程)处理事情的方式(进程的资源分配)等来决定.因为ZF的办事效率高了,显著的一个变化就是人民的生产力就

2017-06-29 22:14:33 640

转载 全面解析Linux 内核 3.10.x - 调度算法 - Linux 调度器

From: 全面解析Linux 内核 3.10.x - 进程调度Linux 调度器 - Volker Seeker · 爱丁堡大学 2013.05.12本文档包含了Linux内核如何处理进程调度注意事项。 它们涵盖一般调度器框架、调度类、完全公平调度(CFS)算法、软实时调度以及负载均衡的实时和CFS。 在此文档中采用的linux内核版本是3.1.10,使用的终端设备为

2017-06-29 22:13:49 503

转载 全面解析Linux 内核 3.10.x - 启动1号进程

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构坚持也许就是胜利 - Keven当内核找到文件系统以后(这里已经挂载proc文件系统了),内核的主要启动使命就越来越少了。因为江山基本已经打下了,剩下的就是要坐江山了。来看下面的这段代码。static noinline void __init_refok rest_init(void){

2017-06-29 22:13:00 328

翻译 全面解析Linux 内核 3.10.x - initramfs 启动流程

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构坚持也许就是胜利 - Keven早在之前,Linus提出要把cache当作文件系统装载。这里有一份来自initramfs 合并的邮件请求,请点击。 我给大家翻译一些小片段(杜撰加翻译)。————————————–致亲爱的 Linus—————————— *亲爱的Li

2017-06-29 22:12:04 1484

转载 全面解析Linux 内核 3.10.x - IPI核间中断的应用

From: 全面解析Linux 内核 3.10.x - 中断子系统前程往事,历历在目 - 佚名一、基本概念IPI 全称为Inter-Processor Interrupt,即处理中间的中断,需要可编程中断控制器PIC or APIC的支持! 操作流程大概如下:  需要向IPI 控制寄存器中写入需要recv interrupt vector,写入的IDB代表了

2017-06-29 21:56:41 1210

转载 全面解析Linux 内核 3.10.x - start_kernel()

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构赶得早,不如赶得巧 - 古语start_kernel前几年穿越题材很火爆,如神话,宫,步步惊心等,可是这些剧都有一些共性,那就是总是穿越到了过去! 为什么穿越一定要到过去呢?在我看来无非就是觉得回到过去题材丰富,因为在中国科幻题材很难火爆,题材有限!换言之就是,中国人总是喜欢活在过去,

2017-06-29 21:55:34 1868

转载 全面解析Linux 内核 3.10.x - Device Tree 详解

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构如果你觉得累,那么就继续吧 - 佚名一、Device Tree简介Device Tree是一种描述硬件的数据结构,它起源于 OpenFirmware (OF)。在PPC 平台,已使用很长时间!.使用一种特殊语言来书写,通过Device Tree Compiler编译为Device Tr

2017-06-29 21:54:44 596

转载 全面解析Linux 内核 3.10.x - 板级初始化 - setup_arch

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构九层之台,起于垒土 千里之行,始于足下 - 老子从dmesg的第一条打印信息说起 - Linux banner且看我的ubuntu 12.04的第一条打印语句Linux version 3.11.0-15-generic (buildd@allspice) (gcc version 4

2017-06-29 08:13:19 569

原创 全面解析Linux 内核 3.10.x - 内核入口函数__kernel_entry

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构找对了入口,才有可能找对出口 – 佚名在前面几节内容中我简单将Linux ,以及linux Kernel的概念做了总结,然后又将编译以及内核镜像也做了也总结! 从本节内容开始,我将真正的进入到内核代码中去!加油吧,Keven! 从上一节中我已经知道了vmlinux.lds链接文件中指定了内

2017-06-29 08:12:30 3837

转载 全面解析Linux 内核 3.10.x - 编译前的准备

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构2015年的第一场雪,比以往时候来的更早一些 - 凛冬将至1、内核最终呈现给我们的形态什么?万事万物都有它最原始的形态,也有它千变万化的形态!但万变不离其宗,同根同源!a、内核镜像的几种分类?大概分为2类: 1.elf 格式镜像(原始) vmlinux – 编译后生

2017-06-29 08:11:06 427

转载 全面解析Linux 内核 3.10.x - 如何开始

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构我寻寻觅觅,寻寻觅觅,一个温暖的怀抱 - 我是一只小小鸟万事开头难 - 如何开始?人总是对未知的事物充满恐惧!就像航海一样,在面对危难的时候,船员和船长是一样心中充满恐惧的!只是船员始终充满恐惧,而船长却能压抑恐惧并从当前找出突破口! 我没有船长之能,但也算入行两年的老船员,我会追随船

2017-06-29 07:47:55 629

空空如也

空空如也

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

TA关注的人

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