为Android设备添加A2SD支持
相信很多用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支持的更多相关文章
- Android系统移植与调试之------->如何修改Android设备添加重启、飞行模式、静音模式等功能(二)
今天要说的是为Android设备添加重启.飞行模式.静音模式按钮,客户需求中需要添加这项功能,在长按电源键弹出的菜单中没有这些选项,谨以此文记录自己添加这个功能的过程. 首先找到长按电源键弹出的对话框 ...
- [置顶] Android系统移植与调试之------->如何修改Android设备添加3G上网功能
1.首先先来看一下修改前后的效果对比图 step1.插上3G设备前 step2.插上3G设备后,获取信号中.... step3.插上3G设备后,获取到信号 step4.使用3G信号浏览网页 2.下面讲 ...
- Microsoft Azure IoTHub Serials 2 - 如何为android应用添加IoTHub支持
1. 在build.gradle(app)文件的dependencies中添加对以下项的依赖: 'com.microsoft.azure.sdk.iot:iot-device-client:1.5.3 ...
- Android系统移植与调试之------->如何修改Android设备添加3G上网功能
1.首先先来看一下修改前后的效果对比图 step1.插上3G设备前 step2.插上3G设备后,获取信号中.... step3.插上3G设备后,获取到信号 step4.使用3G信号浏览网页 2.下面讲 ...
- 别再为了iOS新系统设备而重新安装一个新版Xcode了.其实我们可以添加版本支持
众所周知,Xcode7.3的代码补全是有问题的 如导入自定义类之后,在代码中并不会补全相应的类名... 但Xcode7.2是没有这个问题的,但很多时候我们自己的设备都升级到了iOS9.3.X系统,导 ...
- 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头 ...
- android设备内部添加apn信息
由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...
- 在ios android设备上使用 Protobuf (使用dll方式)
http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...
- 微软云平台媒体服务实践系列 1- 使用静态封装为iOS, Android 设备实现点播(VoD)方案
微软的云平台媒体服务为流媒体服务提供了多种选择,在使用流媒体服务为企业做流媒体方案时,首先需要确认要流媒体接收目标,如针对广大iOS, Android移动设备,由于它们都支持HLS 格式的流媒体,基于 ...
随机推荐
- Python[小甲鱼006常用操作符]
1.操作符 下面有一些需要注意的操作符 >>>3 ** 2 9 上面这个代表着平方 即 3的平方 >>>3 ** 5 243 ...
- 201521123118《java程序与设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容 2. 书面作业 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synch ...
- 201521123024 《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- 201521044091 java 第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. Runnable不是线程,Thread才是,必须将实现Runnable接口的类的对象放入Thread中才能在 ...
- sublime列显示控制
Shift+右键拖拽或者Ctrl+左键单击选择多个位置
- 上传文件复用代码【fileUpload】
这是使用了FileUpload上传组件的,解决了中文乱码问题了,并且删除了临时文件的. 使用了一个Book对象做示范 private Book uploadData(HttpServletReques ...
- Java 使用Axis实现WebService实例
在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...
- 关于IOS的屏幕适配(iPhone)——Auto Layout和Size Classes
Auto Layout和Size Classes搭配使用极大的方便了开发者,具体如何使用Auto Layout和Size Classes大家可以参考其他文章或者书籍,这里只提一点,在我们设置Size ...
- Matlab入门学习(程序设计)
一.循环(for,while) for循环: for i=begin:step:end ...... end while循环: while condition ...... end 二.分枝(if,i ...
- 最详细的cookie和浏览隐私之间的关系
本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie"). 浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信 ...