1. Git客户端中文Bug总结

    概述 工作中使用Git版本控制工具管理源代码,客户端使用的是Git for windows+TortoiseGit,使用过程中发现客户端的两个Bug: 1)创建中文目录的Git仓库(如:”技术文档”),右键单击Git Gui,会提示打不开目录,英文版提示No working directory 2)在Git仓库下添加子模块,子模块如果命名为中文目录,则进入中文目录后会看到图标显示不正常,即使是已提交的文件,悬浮图标会是带问号的图标,本来应该是打勾的图标

  2. Ndk编译zip

    概述 busybox工具集带的压缩工具主要有tar,bzip2,unzip等工具,但是不带zip工具,故此在手机上通过执行命令的方式不能创建zip包,也不能将新文件压缩到一个已有的zip文件里。 本篇主要讲述如何使用Ndk编译infozip源码,生成在手机上可运行的静态链接的zip可执行文件,在系统模式和Recovery模式都可正常运行。 本篇讲述的代码在Github上可直接下载,地址如下所示: https://github.com/cloudchou/ndkzip

  3. Ndk编译Busybox

    概述 本篇讲述如何在Linux下使用Ndk编译busybox源码,生成一个静态链接的兼容性好的可支持中文的busybox。busybox是静态链接的,所以busybox可以既在recovery模式下运行,也可以在系统模式下运行,解决busybox not found的问题。busybox兼容性好,使用ndk编译,可以在armv7和armv5的cpu上运行,解决了busybox illegal instruction的问题。另外busybox还支持中文,查看中文文件名的文件时,不会出现'?'。

  4. 三星Sdcardfs

    三星的sdcardfs文件系统 ,实际上是启用sdcard程序指定被映射目录和映射后目录,和fuse文件系统类似,但是它的设备类型是/data/media, sdcard比一般手机的sdcard多一个-r的参数,运行后不会有常驻进程,因此通过ps找不到sdcard进程。 用sdcard程序生成sdcardfs文件系统的挂载目录,命令如下: 1$/system/bin/sdcard -u 1023 -g 1023 -l -r /data/media /mnt/shell/emulated 通过查看mounts,可看到如下挂载记录: 1 2/data/media /mnt/shell/emulated sdcardfs /data/local/tmp /mnt/test2 sdcardfs /data/media和/data/local/tmp就是映射前的目录,/mnt/shell/emulated和/mnt/test2就是映射后的目录。

  5. Android Fuse Sdcard

    什么是fuse 用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。Linux通过内核模块对此进行支持。文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。在用户空间实现文件系统能够大幅提高生产率,简化了为操作系统提供新的文件系统的工作量,特别适用于各种虚拟文件系统和网络文件系统。但是,在用户态实现文件系统必然会引入额外的内核态/用户态切换带来的开销,对性能会产生一定影响。

  6. Android 多用户挂载技术

    引言 emultaed技术,即多用户挂载技术,是Android 4.2引入的一项新的Sd卡挂载技术,不同的用户看到的Sd卡挂载目录不一样。 比如使用adb shell查看sd卡目录可能得到的Sd卡目录是/storage/emulated/legacy,它实际上是一个链接目录:

  7. linux共享挂载和从属挂载

    挂载分类:

  8. linux 命名空间

    传统上,在Linux以及其他衍生的UNIX变体中,许多资源是全局管理的。例如,系统中的所有进程按照惯例是通过PID标识的,这意味着内核必须管理一个全局的。