相信很多用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. 201521123116 《java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...

  2. 201521123108 《Java程序设计》第13周学习总结

    1. 本周学习总结 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 答: 回复 ...

  3. linux各类压缩解压命令大全

    01-.tar格式解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩 ...

  4. Sql Server——基础

    前言: 在了解数据库之前,我们应该首先了解一下和数据库有关的知识,如:什么是数据,什么又是数据库等.  数据:描述事物的符号记录称为数据,它是数据库中存储的基本对象.  数据库(Datebase):数 ...

  5. HTTP第一篇

    为什么要学HTTP? 我们绝大多数的Web应用都是基于HTTP来进行开发的.我们对Web的操作都是通过HTTP协议来进行传输数据的. HTTP的诞生主要是为了能够让文档之间相互关联,形成超文本可以互相 ...

  6. [5] 微信公众号开发 - 微信支付功能开发(网页JSAPI调用)

    1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...

  7. 西邮linux兴趣小组2014纳新免试题(五)

    [第五关] 题目 http://final5.sinaapp.com/ 关注西邮Linux微信平台,得到一个名为a的文件 分析 分析文件a 需要反汇编,拿IDA上,打开后发现key_function及 ...

  8. 为什么你需要将代码迁移到ASP.NET Core 2.0?

    随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代.开发者们可以选择使用命令行.个人喜好的文本编辑器.Visual Studio 2017 15.3 和 Visual Stu ...

  9. Python uwsgi 无法安装以及编译报错的处理方式

    之前安装uwsgi的时候编译一步有出错,因为比较早,部分错误代码已经找不到了,网上找了部分错误信息, 现把解决方式共享出来. 环境:CentOS release 6.4   Python 2.7.3 ...

  10. Spring3.2不支持jdk8

    解决方案: http://stackoverflow.com/questions/24128045/spring-context-initialization-failed-with-java-lan ...