为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[小甲鱼007了不起的分支和循环]
加载背景音乐播放背景音乐(设置单曲循环)我方飞机诞生interval = 0while True:if 用户是否点击关闭按钮退出程序breakinterval += 1if interval = 50 ...
- 201521123121 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1.两类传输协议:TCP:UDP TCP/IP协议的名称中只有TCP这个协议名,但是在TCP/IP的传输层 ...
- Thinkphp3.2结合phpqrcode生成二维码(含Logo的二维码),附案例
首先,下载phpqrcode,将其解压到项目ThinkPHP\Library\Vendor目录下.Index_index.html(模板可自行配置) <form action="{:U ...
- Spring第七篇【Spring的JDBC模块】
前言 上一篇Spring博文主要讲解了如何使用Spring来实现AOP编程,本博文主要讲解Spring的对JDBC的支持- 对于JDBC而言,我们肯定不会陌生,我们在初学的时候肯定写过非常非常多的JD ...
- [03] Servlet继承关系和生命周期
1.Servlet的继承关系 假如现有我们自定义的一个Servlet,继承HttpServlet,那么实际上它的继承链如下图: 可以看到,核心的部分在于: 两个顶级接口 Servlet Servl ...
- 源码跟读,Spring是如何解析和加载xml中配置的beans
Spring版本基于: 跟踪代码源码基于: https://github.com/deng-cc/KeepLearning commit id:c009ce47bd19e1faf9e07f12086c ...
- Spring写第一个应用程序
ref:http://www.importnew.com/13246.html 让我们用Spring来写第一个应用程序吧. 完成这一章要求: 熟悉Java语言 设置好Spring的环境 熟悉简单的Ec ...
- 易语言 【寻找文本】命令的bug
最近在重写易语言模块的时候,在取子文本操作时老是出错,经常出现一些奇怪的问题,一开始以为是代码问题,可是找半天硬是找不到问题所在. 于是进入了找bug模式,这么几行代码,看了我半个小时,左改右改,总感 ...
- 西邮linux兴趣小组2014纳新免试题(四)
[第四关] 题目 http://findakey.sinaapp.com/ Example: String1:FFFF8 5080D D0807 9CBFC E4A04 24BC6 6C840 49B ...
- python基础之条件循环语句
前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...