`
mmdev
  • 浏览: 12917105 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

sd无法挂载及无法安装apk的问题(2)

 
阅读更多

问题原因及原理讲解:

由于android系统(这样叫可能不对应该叫android应用系统吧)在安装APK时,默认会使用在/sdcard或者/mnt/sdcard目录下设备,由于没有挂载那就不能对sd卡进行操作了。

下面我们来看一个特别的例子来更好地理解问题,假如你的板子是通过sd启动的(sd必须分成boot和android_fs两个分区),那么当你的os运行起来时,android应用系统会先挂载boot分区读取里面的MLO、u-boot.bin、uimage文件,然后再读取android_fs分区里面的文件系统,等os跑起来了以后,os会自动卸载boot分区。

我们先来看看android里面的dev/block下有哪些与sd卡相关的,ls你会发现有3个文件。前提是sd成功驱动成功加载,如果把sd卡插入设备,在 /dev/block/ 目录下面也会多出几个设备节点,就证明sd卡的驱动已经成功加载。 我自己测试的目录下面会形成 mmcblk0 和 mmcblk0p1 和mmcblk0p2节点,注意:这三个节点的意思,mmcblk0代表第一个SD卡设备,mmcblk0p1代表第一个SD卡设备的第一个分区,mmcblkp2代表第二个分区,真正挂载到系统中的是mmcblk0p1和mmcblk0p2而不是mmcblk0,这一点很重要。

但是为什么系统还是会提示sd damage或者sd umount呢?原因是android只会去/sdcard目录下寻找sd设备,你没有挂载sd的某一个分区在/sdcard目录,当然就会报前面的错,既然没有空间来容纳APK那么也就不能安装APK了,


解决方法:

通过是用android调试工具adb shell使pc连上板子,手动挂载mmcblk0p1到/sdcard下(这时只能挂载1分区,因为这时1分区是卸载状态可以挂载,2分区是文件系统正在被os调用,当你挂载2分区时会报出the devices busy的问题),这样操作的话,mmcblk0p1就挂载成功了,sdcard目录下就会自动多出Android目录,里面包含了一些文件如APP之类的等,查看权限如果权限不够时就使用chmod修改它,这时就退出adb shell使用adb install安装apk ,adb pull从pc传入文件到板子,具体adb使用和adb安装及其相关操作请查看此我的目录(Android移植及调试)系列的adb命令详解等几篇文章,你可以在这些文章中学会adb的使用,接下来apk就可以成功在板子安装成功了,也可以通过板子从晚上下载apk进行安装了,这样就解决了sd无法挂载及无法安装apk的问题

本文只是我自己在玩omap4430 pandaboard板子遇到问题的一些解决方法,本人很菜,希望大拿们不小心看到此文章后就当路过,要是能指点一下那就更好了!


分享到:
评论

相关推荐

    2SD.apk 挂载工具

    2SD挂载工具 可减少储存使用

    sd卡双重挂载apk

    ad卡双重挂载apk

    在SD卡上划分Android手机内存

    1、先将sd卡插到电脑上,并格式化(fat32格式)。...4、sd卡插回手机,重启手机,执行Link2SD,挂载ext2分区 5、重启手机,以后再安装程序就会安装到ext2分区中 三星S5570手机测试通过,别的手机没测试。

    Android实现检查并下载APK更新、安装APK及获取网络信息的方法

    主要包括了下载和安装APK、检查Apk更新、显示’已经是最新’或者’无法获取版本信息’对话框、获取当前客户端版本信息、显示版本更新通知对话框、显示下载对话框、判断是否挂载了SD卡、显示文件大小格式:2个小数点...

    无线手机内存 --》Link2SD

    Link2SD是一款能让android 1.6系统的用户将应用程序移动到的SD卡上,需要root权限支持,其实就是Link2SD挂载的ext2为/ data/sdext2你的SD卡分区,使android系统在开机时挂载它,实现移动程序功能!最新版本,分享给G...

    adb工具包刷机工具

    用于安卓手自我的一个好友偷摸搬运过来、刷机精灵、甜辣椒什么的有时对机型支持并不是那么完善的、关键时刻还的需要通用的adb命令自己动手、把adb...shell测试通过即可、当然了、在这些之前驱动安装什么的都是必须的哦~~...

    android通过反射获取内置存储、SD、OTG盘的路径,适合三方apk存储查看与文件管理

    由于不同厂商定制,挂载存储路径并不统一,并且VolumeInfo需要源码环境,这里提供一个类,通过反射机制轻松获取外挂磁盘的路径和类别(判断是否SD\OTG),并获取对硬盘的空间大小情况

    RE浏览器(Root Explorer) v3.1.6.zip

    RootExplorer需要ROOT权限,新建文件夹,查看/编辑文件,软件安装,RootExplorer具备普通文件管理器的各项基本功能,另外还 添加了搜索功能,在手机上找东西变得更加方便。此外,RootExplorer最大的特点在于它能够...

    华为C8813D刷机工具

    3.备份和恢复系统,可选择备份到内置SD卡或外置SD卡,并支持两种格式备份; 4.支持内置SD卡、外置SD卡刷机!不需要外置SD卡均可刷机; 5.支持USB模式同时连接内置卡和外置SD卡到电脑; 6.修复权限,清空电池信息,...

    luks manager2.3

    luks manager是一个真正意义上的android的手机加密软件,可以在手机sd卡中分出一个加密区块,存储用户的加密信息。不同于市面上的假隐藏的软件,该软件的加密是实时加密的,而且加密后的区块,可以挂载到一个特定...

    android adb shell 命令大全

    2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号 4. 启动模拟器: emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)...

    java_手机管理工具类的标准代码_android

    一些工具类代码块的标准代码,包括但不限于: 获取手机系统版本号 获取手机型号 获取手机宽度 获取手机高度 获取手机imei串号 ,GSM手机的 IMEI 和 CDMA手机的 MEID. 获取手机sim卡号 ...判断一个apk是否安装

Global site tag (gtag.js) - Google Analytics