本文转载自:https://blog.csdn.net/mill_li/article/details/50134301

在Android4.4系统下,ES文件浏览器读取不到U盘,但是在设置->存储里面是可以看到U盘的,另外一块板子是4.2系统的,一切正常,用串口看了下发现

正常的板子,U盘挂在/mnt/udisk下,不正常的那个在/mnt/media_rw/udisk下,于是乎就想要更改U盘的挂载路径.

百度了一番发现了一片好文章,让我解决了这个问题

http://blog.csdn.net/jingxia2008/article/details/25787039

因为对Android系统并不是很了解,所以没法讲的特别透彻,感兴趣的可以去看看上面那篇文章,我大概是改了三个地方

1.init.rc

系统启动的时候肯定是要从这里启动的,所以就看了看,发现果然有关于udisk的东西,飞思卡尔的imx6平台下

/project/device/fsl/imx6/etc/init.rc里面有这样一段话

  1. mkdir /mnt/media_rw 0751 media_rw media_rw
  2. mkdir /storage 0751 root sdcard_r
  3. mkdir /mnt/media_rw/extsd 0755 system system
  4. symlink /mnt/media_rw/extsd /storage/extsd
  5. mkdir /mnt/media_rw/udisk 0755 system system
  6. symlink /mnt/media_rw/udisk /storage/udisk

看来是在这里创建了挂载的目录,但是这里只是创建了目录,系统并不知道要挂载到这里,而且为什么要创建两个连接呢?百度一番后发现Android有Vold这个东西,机制上的东西我就不说了,也讲不明白,具体可以百度下,于是乎我将这里改成了

  1. #mkdir /mnt/media_rw 0751 media_rw media_rw
  2. mkdir /storage 0751 root sdcard_r
  3. mkdir /mnt/extsd 0755 system system
  4. symlink /mnt/extsd /storage/extsd
  5. mkdir /mnt/udisk 0755 system system
  6. symlink /mnt/udisk /storage/udisk

2.fstab

系统会在这里面将挂载点告诉Vold,让他可以去检测热插拔事件,如果没有在这里注册,Vold就不会去检测,这里因为我是freescale平台,所以在/project/device/fsl/sabresd_6dq/

这个目录下有fstab.freescale文件,里面有这样几句话

  1. /devices/platform/sdhci-esdhc-imx.2/mmc_host/mmc1 /mnt/media_rw/extsd vfat defaults voldmanaged=extsd:auto
  2. /devices/platform/fsl-ehci /mnt/media_rw/udisk vfat defaults voldmanaged=udisk:auto

第一个是SD卡的注册,第二个是U盘的注册

于是将这里改成了

  1. /devices/platform/sdhci-esdhc-imx.2/mmc_host/mmc1 /mnt/extsd vfat defaults voldmanaged=extsd:auto
  2. /devices/platform/fsl-ehci /mnt/udisk vfat defaults voldmanaged=udisk:auto

3.Vold

上面两个改了以后发现问题还是没有解决,于是就在/project/system/vold/目录下看,发现有Volume.cpp文件,里面这样写的

  1. const char *Volume::MEDIA_DIR           = "/mnt/media_rw";

于是将这个目录也改了之后问题解决了。。。

最后还有一点,关于U盘的挂载信息,可以用logcat -s Vold MountService看,我就是这样发现挂载目录有问题的

Android 4.4 U盘挂载【转】的更多相关文章

  1. linux系统数据盘挂载教程

    将数据盘挂载为/www命令:#mkdir /www & mount /dev/sdb1 /www ----------------------------------------------- ...

  2. zedboard U盘挂载+交叉编译helloworld

    交叉编译环境见http://blog.csdn.net/xiabodan/article/details/22717175 1:编写hello.c文件 #include<stdio.h> ...

  3. Ubuntu 将其他盘挂载到/home的子目录下

    Ubuntu 14.04 将其他盘挂载到/home的子目录下当安装完Ubuntu系统,由于当时没有注意,分配的分区空间太小.经过一段时间安装了各式各样的软件后,常常会遇到/home目录下空间不够的情况 ...

  4. 虚拟机U盘挂载

    虚拟机中U盘挂载 一.连接U盘 虚拟机中    虚拟机→可移动设备→Syntek USB......(U盘的名称)→连接: 二.查看U盘的UUID “lsblk -f”: UUID为   35E6-9 ...

  5. 接上篇:将OneDrive云盘挂载到我的电脑!(1024快乐,明年我应该也可以过这个节日了!)

    今天对程序猿来说是个值得纪念的日子!祝程序员小哥哥小姐姐们今天可以早早下班,回家休息,Bug走开! 接上篇,将自己申请的5T云盘挂载到我的电脑! 第一步:挂网下载Raidrive 附上链接: http ...

  6. CentOS系统下的数据盘挂载

    此教程适用系统:Linux(CentOS,Debian,Ubuntu,Fedora) 通常新开通的Linux云服务器数据盘都未做分区和格式化.在进行数据盘挂载之前我们要先进行分区以及格式化操作.注意, ...

  7. Linux系列(21) - 光盘、U盘挂载

    挂载光盘 mount命令.umount命令 step-1 建立挂载点 原理:相当于建立盘符,建个目录读取光盘内容 命令:[root@localhost ~]# mkdir /mnt/cdrom/ 备注 ...

  8. Linux c 获取U盘挂载路径

    思路: 1.执行df -h 找到 带mnt的行.将结果存入一个文件中. system("df -h |grep mnt >./extendevinfo.txt"); 也可以直 ...

  9. Linux c 检测U盘挂载路径方法

    思路: 1.使用df -h |grep mnt shell 命令查找到挂载路径信息 本代码是将结果存入文件中,再从文件中解析出路径信息.也可使用fopen直接从管道中读取信息 2.解析出信息最后的/m ...

随机推荐

  1. 还在用系统自带的?那你那就OUT了!

    相信如今的APP10个里面有九个是有Tabbar的,可是非常多人甚是非常多公司都在用系统自带的tabbar.当然这也不是不能够,并且项目中就那几行代码.效果又一样. 可是,别忘了另一个可是.然并卵.这 ...

  2. JSON解析工具-org.json使用教程

    转自:http://www.open-open.com/lib/view/open1381566882614.html 一.简介  org.json是Java常用的Json解析工具,主要提供JSONO ...

  3. mock测试类的时候,添加@InjectMocks

    1.在单元测试某个类的时候,引入该类的时,添加注解@InjectMocks 2.该类的变量,需要添加注解:@Mock 3.类中需要第三方协作者时,通常会用到get和set方法注入.通过spring框架 ...

  4. PL/0编译程序

    Pl/0语言文法的BNF表示: 〈程序〉→〈分程序>. 〈分程序〉→ [<常量说明部分>][<变量说明部分>][<过程说明部分>]〈语句〉 <常量说明部 ...

  5. 使用badboy录制脚本 结合Jmeter一起测试。

    1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...

  6. C# 中安全代码与不安全代码

    C# 中安全代码与不安全代码 P/Invoke 非托管代码需要在unsafe块中书写. using System; using System.Collections.Generic; using Sy ...

  7. IOS下移除按钮默认美化样式

    今天在做项目中发现 ios会自己美化按钮的样式  美化的一般都是加一个圆角 也就是常说的border-radius 属性    今天在弄一个input标签的时候加了一个border-bottom属性  ...

  8. 公告板shader

    Shader "Custom/LightPoint" { Properties { _MainTex ("Main Tex", 2D) = "whit ...

  9. 为什么是kafka(二)

    回答几个网友提出的问题,不清楚的能够看上一篇内容. 1.  kafka的删除策略应该怎么配置?为了提升性能.我是不是应该1小时删除一次消费过的数据. 全然能够依据磁盘大小配置.仅仅要磁盘足够用,全然不 ...

  10. StarUML破解教程

    StarUML破解教程 StarUML官方下载地址:http://staruml.io/download StarUML是一个非常好用的画UML图的工具,但是它是收费软件,以下是破解方法: 1.使用E ...