相信很多用Android设备的用户都有这个问题,内部存储太小导致应用只能装那么几个,虽然rom也有提供移动到sd卡的选项,但是仅仅是移动程序文件到sd卡,并不能解决多少问题,多装几个还是会提示内部存储不足,所以这里提供一个更好的解决办法。手动添加A2SD支持,此办法按理说只要你的内核支持init.d脚本的话就能用,是个通用的办法。【刷机和此操作均有风险,作者不对你因为此文进行操作后产生的结果承担任何责任】

      【注意:此文章为本人原创,如有雷同纯属巧合,转载请注明出处和作者!---------------http://www.cnblogs.com/exiahan/p/3300849.html,cnblogs博客,作者:ExiaHan】

       前提,你的内核需要支持init.d脚本,你要有足够大的sd卡,因为下面的步骤会直接占用sd卡大概1GB的空间,我是16GB。

       首先,如果你的手机内核不支持init.d脚本,请更换一个支持的内核,部分手机可能需要解锁,解锁教程请执行参考你手机的解锁教程。

       然后,刷好内核后,需要给sd卡分区,给sd卡分区会丢失所有sd卡上的数据,分区前需要备份重要数据。【分区步骤如下:1、开机时当手机显示sony时会震动一下,这时候按一下返回键,进入recovery。2、进入recovery后用音量键来上下选择条目advanced,用home键来确认选择,在advanced里选择partition sd sdcard,根据你的需要选择要分区的大小,这个分区将会被你挂载为内部存储来供手机使用,然后会让你选择swap分区的大小,如果你的TF卡不是C10或者更高的话,建议选择0,不然反而会托慢你的手机运行速度。然后就是等待分区完成。完成后按返回键返回到recovery主菜单,按home键选择reboot to system来重启手机】。

       接着,
            1、下载安装终端模拟器【下载链接:http://www.coolapk.com/apk/jackpal.androidterm】、RootExplorer【下载链接:http://www.coolapk.com/apk/com.speedsoftware.rootexplorer】、钛备份【下载链接:http://www.coolapk.com/apk/com.keramidas.TitaniumBackup】这三个工具,另外下载这个文件【链接:http://pan.baidu.com/share/link?shareid=1361026920&uk=4079671108】,用rootexplorer把下载的MountSDExt脚本移动到root目录下的/system/etc/init.d/文件夹里,权限改为rwxr-xr-x,重启手机。
            2、重启后打开终端模拟器,开启手机旋转,横屏下输入su,回车,然后输入busybox df -h,回车,看看条目里有没有一个

“/dev/block/mmcblk0p2  xxxM  xxxM xxxM /sd-ext”这样一个条目如图:

如果有的话说明挂载成功,可以进行下一步操作了。如果没有就说明你的内核不支持init.d脚本,请更换支持的内核或者自行搜索如何在/system/bin/里创建自启动init.d的脚本文件。
            3、打开RootExplorer,进入到root目录下的/data/文件夹,选择其中的app和davlik-cache两个文件夹,复制到root目录下的/sd-ext/里,复制过程可能比较慢,复制完成后,删除root目录下的/data/文件夹里的app和davlik-cache文件夹【建议删除前先用RootExplorer复制一份到sd卡当备份用】。【注意,此步骤也可以在终端模拟器root身份下下通过终端命令cp,rm来完成】。【可选步骤:然后在终端模拟器里以root身份运行chown system /sd-ext/app /sd-ext/davlik-cache】
            4、打开终端模拟器,输入su,回车,然后输入 ln -s /sd-ext/app /data/app ,回车,输入ln -s /sd-ext/davlik-cache /data/davlik-cache ,回车。在/data里创建两个文件夹的软链接如图:

然后重启,这样a2sd就完成了。打开钛备份,会发现基本信息页面里出现了一个SD卡(A2SD)的状态显示,如图:

然后在钛备份里面通过批处理选择“移动用户程序到内置存储,如图:

完成后就会把所有的已安装应用移动到新开辟的/sd-ext/挂载点下了。

到此,为设备添加A2SD的操作就已经完成了,以后再安装应用,都将会自动的被安装到/sd-ext/app里,如果有应用在安装时后自作聪明把自己安装到sd卡上,用钛备份批处理移动下就OK了。

为Android设备添加A2SD支持的更多相关文章

  1. Android系统移植与调试之------->如何修改Android设备添加重启、飞行模式、静音模式等功能(二)

    今天要说的是为Android设备添加重启.飞行模式.静音模式按钮,客户需求中需要添加这项功能,在长按电源键弹出的菜单中没有这些选项,谨以此文记录自己添加这个功能的过程. 首先找到长按电源键弹出的对话框 ...

  2. [置顶] Android系统移植与调试之------->如何修改Android设备添加3G上网功能

    1.首先先来看一下修改前后的效果对比图 step1.插上3G设备前 step2.插上3G设备后,获取信号中.... step3.插上3G设备后,获取到信号 step4.使用3G信号浏览网页 2.下面讲 ...

  3. Microsoft Azure IoTHub Serials 2 - 如何为android应用添加IoTHub支持

    1. 在build.gradle(app)文件的dependencies中添加对以下项的依赖: 'com.microsoft.azure.sdk.iot:iot-device-client:1.5.3 ...

  4. Android系统移植与调试之------->如何修改Android设备添加3G上网功能

    1.首先先来看一下修改前后的效果对比图 step1.插上3G设备前 step2.插上3G设备后,获取信号中.... step3.插上3G设备后,获取到信号 step4.使用3G信号浏览网页 2.下面讲 ...

  5. 别再为了iOS新系统设备而重新安装一个新版Xcode了.其实我们可以添加版本支持

    众所周知,Xcode7.3的代码补全是有问题的  如导入自定义类之后,在代码中并不会补全相应的类名... 但Xcode7.2是没有这个问题的,但很多时候我们自己的设备都升级到了iOS9.3.X系统,导 ...

  6. IIS 添加mime 支持 apk,exe,.woff,IIS MIME设置 ,Android apk下载的MIME 设置 苹果ISO .ipa下载mime 设置

    原文:IIS 添加mime 支持 apk,exe,.woff,IIS MIME设置 ,Android apk下载的MIME 设置 苹果ISO .ipa下载mime 设置 站点--右键属性--http头 ...

  7. android设备内部添加apn信息

    由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...

  8. 在ios android设备上使用 Protobuf (使用dll方式)

    http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...

  9. 微软云平台媒体服务实践系列 1- 使用静态封装为iOS, Android 设备实现点播(VoD)方案

    微软的云平台媒体服务为流媒体服务提供了多种选择,在使用流媒体服务为企业做流媒体方案时,首先需要确认要流媒体接收目标,如针对广大iOS, Android移动设备,由于它们都支持HLS 格式的流媒体,基于 ...

随机推荐

  1. 201521123087 《Java程序设计》第1周学习总结

    1.学习总结 初步了解面对对象编程思想 学会安装JDK和设置JAVA_HOME,PATH,CLASSPATH环境变量 简单了解java 2.书面作业 1.为什么java程序可以跨平台运行?执行java ...

  2. java课设-计算数学表达式的程序,201521123050,肖世松,个人

    1.团队课程设计博客链接 http://www.cnblogs.com/xss666/p/7063780.html 2.个人负责模块或任务说明 个人负责:计算器外观,左容器CalPanelL p1: ...

  3. 201521123068 《java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  4. 从java的开始,java概述,java配置环境变量

    一.java开发入门 java 概述   Java划分为三个技术平台:JavaSE(标准版,含Java基础类库),JavaEE(企业版,技术平台),JavaME(小型版,小型产品.嵌入式设备) Jav ...

  5. linux (1)基本知识/目录/磁盘格式/文件系统

    一.linux基本知识介绍1.命令行格式:(按两次tab可以知道有多少个可执行命令,我的有1980个,用户有1960个)[用户名@linux主机名 ~(当前目录)]$ 命令 选项 参数1 参数2[ro ...

  6. Oracle函数之chr

    chr()函数将ASCII码转换为字符:字符 –> ASCII码:ascii()函数将字符转换为ASCII码:ASCII码 –> 字符: 在oracle中chr()函数和ascii()是一 ...

  7. Oracle存储过程 一个具体实例

    表结构信息,并不是用oracle描述的,但是后面的存储过程是针对oracle的 ----------------个人交易流水表----------------------------------- c ...

  8. New Features and changes of Ninject 3.3

    Ninject 3.3 beta1 has gone live. This release mainly focus on bug fix and platform update. Support . ...

  9. Scanner(键盘录入)

    注意事件: 1: 当使用Scanner类时 切记不要做从键盘输入一个int数 再输入一个字符串 这样会导致bug就是字符串会读取不到几所输入的内容 原因是因为:当你用了NextInt()方法时,再按了 ...

  10. Linux学习——Shell基础

    1 shell概述 Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序. Shell 还是一 ...