app2sd使用心得.docx

上传人:b****9 文档编号:23425464 上传时间:2023-05-17 格式:DOCX 页数:7 大小:18.72KB
下载 相关 举报
app2sd使用心得.docx_第1页
第1页 / 共7页
app2sd使用心得.docx_第2页
第2页 / 共7页
app2sd使用心得.docx_第3页
第3页 / 共7页
app2sd使用心得.docx_第4页
第4页 / 共7页
app2sd使用心得.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

app2sd使用心得.docx

《app2sd使用心得.docx》由会员分享,可在线阅读,更多相关《app2sd使用心得.docx(7页珍藏版)》请在冰豆网上搜索。

app2sd使用心得.docx

app2sd使用心得

app2sd“伪造一个内部储存空间来,然后将程序装到这里面去。

App2sd+将更多的东西放到sd卡,省出更多空间。

详解请看下文,有点电脑基础的人更容易看懂。

结何另一编就百分百懂了。

就如同你的电脑上有硬盘一样,手机上也有“硬盘”,那就是你的SD卡。

如同你在电脑上可以给硬盘分区一样,sd卡同样能分区。

一般来说,不论你是否分区,你的sd卡买回来之后,就只有一个很大的fat32区,当然,这个fat32格式的卡,足够让你储存相片,短信,email等等。

在Android手机上,除了你外置的sd卡以外,还有手机内部闪存(NAND)。

    传统意义上来说,以前你只能将软件安装到NAND中而不能把软件安装到sd卡中。

于是,尴尬的是,当你有一个32g的sd卡,但只有5mb的内部存储,你同样不能安装多少软件,装几个后手机就提示空间已满。

Android手机只允许装到NAND中的一个原因是保护知识产权也就是防止**。

访问手机内部存储空间就是一件很麻烦的事情,(一般来说没有root是完全不可能的)。

正因为访问很麻烦,所以你很难到那里面去把app拷贝下来然后再发到网上去让别人安装。

但这样一来,像我们这些很喜欢装很多app的人,就尴尬了。

虽然这些app都是合法拷贝,但是内部存储空间很快就会耗尽而无法安装新软件。

所以,2.2的android,Google给了一种将软件安装到sd卡的办法,这样就能安装更多软件。

Sd上会生成一个大概叫做.android_secure的文件夹,将软件安装到里面。

但这个方法有一些问题:

    1,软件不是自动安装到sd卡中这个文件夹,你需要手动去点击“移动到sd卡”

2,不是说有的软件都能被“移动”,事实上很多软件都不能移动。

是否能移动到sd卡,取决于开发者是否更新软件并允许移动。

很多开发者不愿意更新。

3,即便能移动过去,不是所有的软件数据都移动到sd卡,同样有一些信息是需要保留在NAND上面的,所以,你的手机照样会很快就用完内部存储。

4,你可以通过命令行强制将所有软件都装到sd卡上。

但这么做的后果就是,小插件什么的就不再能用。

这就是官方2.2的app2sd。

但是在2.2出来之前,一些聪明的人搞出来了一个民间的所谓apps2sd。

记得之前开头我说过sd卡就是一个很大的fat32分区?

apps2sd通过将你的sd卡分区成两个文件系统,达到将软件安装到sd卡的目的:

一个如之前一样的fat32分区,让你装之前需要在sd卡上安装的东西;另外创建一个ext分区。

Ext只是一个文件系统的名称,同fat32,ntfs一样,只是这个ext系统是android内部存储用的格式。

Sd卡之所以一般都是fat32格式,那是因为这个格式的使用是最广泛的,windows,linux,都能使用这个格式,而ext格式一般来说,只是在linux下可以看到并读取。

Ext格式有不同的版本。

最常见的就是ext3。

和ext2比起来,最大的不同就是ext3格式有了“日志”(Journal)功能。

日志功能最大的好处,就是当你的操作(如对sd进行读取或者写作的过程中)因为意外原因别打断(比如,突然断电),那么,有日志功能的ext3分区上的文件,不会有任何损坏或者丢失。

当我们每次打开我们的电话时,上面总是提示“正在准备sd卡”。

每次都提示正在准备,但其实系统正在做的就是检查fat32格式是不是损坏,这正是因为fat32格式不具备日志功能。

回想一下以前在windows98年代的日子,每次当我们并非正确关机或者突然重启之后,会出来一个带着扫描进度条的蓝屏,这个扫描进度条和现在正在准备sd卡,是一个意思。

但当我们后来用windows2000、windowsxp时,因为这两个系统开始支持带有日志功能的ntfs,所以在这两个系统下,文件系统损坏的可能被降低了。

了:

fat32格式和ext格式。

至于ext格式是ext3还是ext4,不是很重要。

使用ext4,并不会带来什么好处(译者注:

有时候rom不支持ext4,反而麻烦)。

当你分好区之后,apps2sd在你的电话上运行一段脚本,从手机的内部存储创建一个“符号链接”(symboliclinks)到sd卡的ext分区上。

一个符号链接和快捷方式的意思有点像,但是,一个符号链接对于操作系统来说,是不可见的。

    换句话,有了这个对操作系统不可见的符号链接的android系统,当你在安装软件到内部存储的时候,系统无法分辨你是安装到了内部存储NAND中还是sd卡的ext分区中,于是,就这么瞒天过海,软件从手机内部存储安装到了sd卡上。

这样,这个方式可以很有效的节省你的手机内部存储。

但是,这个ext分区在windows下是不可见的。

在windows下,你的sd卡像是少了一部分空间一样,而少的这一部分,就是你的ext分区的空间。

比如,你有一张4g的sd卡,(大概有3.5g的实际使用空间),然后你创造了一个512m的ext分区,这时将卡插到电脑上,windows显示你的卡就只有3g了。

“失去”的那些空间其实没有失去,只是被windows无法看到的ext分区使用了。

当你重新格式化你的sd卡时,这些空间自然就又会出现。

更重要的是,应为ext格式支持日志功能,所以这个分区不需要“正在准备sd卡”,意味着这个分区在你手机启动的一刹那就可以正常的访问:

所有你桌面小工具啊等等东西,就可以开机运行。

(不像2.2的app2sd,开机之后小插件消失)NAND存储空间。

Apps2sd+就将DavlikCache也一并移动到了ext分区上,省出更多的空间。

一些人认为,这样会导致性能的损失,因为他们觉得内部存储的NAND应该总是比外部的sd卡块。

(这就是为什么人们总是争吵到底是class4还是class6的sd卡,更适合apps2sd,这争吵背后的逻辑就是,更快的卡对性能提升更好)。

但事实是,你的程序最后还是从手机中RAM中开始运行,所以,基本上没有什么影响。

同时,考虑到大多数的软件都是几百k,最多不过1,2m,其实对性能没有任何影响。

还有就是,任何最近发布的apps2sd或者apps2sd+都可以在任何sd卡上工作,不论这个sd卡是否有ext分区。

在手机第一次启动的时候,它会自动检查sd卡,如果卡上没有分区,那么,它就自动将程序撞到手机内部存储中。

同样,即便你的卡有了ext分区,但没有apps2sd+功能,这也不会引起任何问题

前言:

翻译这个帖子,主要是看到desire版上满是请教怎么搞app2sd的,还有更多的app2sd的所谓“教程”。

app2sd到现在,有很多版本,froyoapp2sd,a2sd,a2sd+,要搞好这个安装到sd卡,起码要知道这些基本的定义、概念和原理。

否则照葫芦画瓢,出了问题都不知道怎么出的。

举个例子,曾经我刷了一个rom,因为不理解app2sd的原理,每次安装好之后就点了“移动到sd卡”,结果反而闹出一大堆问题,比如小插件不能用等等。

更关键的是,现在所谓的app2sd的教程,在我看来惨不忍睹。

不是说帖子惨不忍睹,是2.2自带的app2sd的效果惨不忍睹,装了和没装基本上差不多。

===============================================================================

英文原文出自XDA论坛上8楼的neoKushan。

就如同你的电脑上有硬盘一样,手机上也有“硬盘”,那就是你的SD卡。

如同你在电脑上可以给硬盘分区一样,sd卡同样能分区。

一般来说,不论你是否分区,你的sd卡买回来之后,就只有一个很大的fat32区,当然,这个fat32格式的卡,足够让你储存相片,短信,email等等。

在Android手机上,除了你外置的sd卡以外,还有手机内部闪存(NAND)。

传统意义上来说,以前你只能将软件安装到NAND中而不能把软件安装到sd卡中。

于是,尴尬的是,当你有一个32g的sd卡,但只有5mb的内部存储,你同样不能安装多少软件,装几个后手机就提示空间已满。

Android手机只允许装到NAND中的一个原因是保护知识产权也就是防止**。

访问手机内部存储空间就是一件很麻烦的事情,(一般来说没有root是完全不可能的)。

正因为访问很麻烦,所以你很难到那里面去把app拷贝下来然后再发到网上去让别人安装。

但这样一来,像我们这些很喜欢装很多app的人,就尴尬了。

虽然这些app都是合法拷贝,但是内部存储空间很快就会耗尽而无法安装新软件。

所以,2.2的android,Google给了一种将软件安装到sd卡的办法,这样就能安装更多软件。

Sd上会生成一个大概叫做.android_secure的文件夹,将软件安装到里面。

但这个方法有一些问题:

1,软件不是自动安装到sd卡中这个文件夹,你需要手动去点击“移动到sd卡”

2,不是说有的软件都能被“移动”,事实上很多软件都不能移动。

是否能移动到sd卡,取决于开发者是否更新软件并允许移动。

很多开发者不愿意更新。

3,即便能移动过去,不是所有的软件数据都移动到sd卡,同样有一些信息是需要保留在NAND上面的,所以,你的手机照样会很快就用完内部存储。

4,你可以通过命令行强制将所有软件都装到sd卡上。

但这么做的后果就是,小插件什么的就不再能用。

这就是官方2.2的app2sd。

但是在2.2出来之前,一些聪明的人搞出来了一个民间的所谓apps2sd。

记得之前开头我说过sd卡就是一个很大的fat32分区?

apps2sd通过将你的sd卡分区成两个文件系统,达到将软件安装到sd卡的目的:

一个如之前一样的fat32分区,让你装之前需要在sd卡上安装的东西;另外创建一个ext分区。

Ext只是一个文件系统的名称,同fat32,ntfs一样,只是这个ext系统是android内部存储用的格式。

Sd卡之所以一般都是fat32格式,那是因为这个格式的使用是最广泛的,windows,linux,都能使用这个格式,而ext格式一般来说,只是在linux下可以看到并读取。

Ext格式有不同的版本。

最常见的就是ext3。

和ext2比起来,最大的不同就是ext3格式有了“日志”(Journal)功能。

日志功能最大的好处,就是当你的操作(如对sd进行读取或者写作的过程中)因为意外原因别打断(比如,突然断电),那么,有日志功能的ext3分区上的文件,不会有任何损坏或者丢失。

当我们每次打开我们的电话时,上面总是提示“正在准备sd卡”。

每次都提示正在准备,但其实系统正在做的就是检查fat32格式是不是损坏,这正是因为fat32格式不具备日志功能。

回想一下以前在windows98年代的日子,每次当我们并非正确关机或者突然重启之后,会出来一个带着扫描进度条的蓝屏,这个扫描进度条和现在正在准备sd卡,是一个意思。

但当我们后来用windows2000、windowsxp时,因为这两个系统开始支持带有日志功能的ntfs,所以在这两个系统下,文件系统损坏的可能被降低了。

现在,你应该已经把你的sd卡分好区了:

fat32格式和ext格式。

至于ext格式是ext3还是ext4,不是很重要。

使用ext4,并不会带来什么好处(译者注:

有时候rom不支持ext4,反而麻烦)。

当你分好区之后,apps2sd在你的电话上运行一段脚本,从手机的内部存储创建一个“符号链接”(symboliclinks)到sd卡的ext分区上。

一个符号链接和快捷方式的意思有点像,但是,一个符号链接对于操作系统来说,是不可见的。

换句话,有了这个对操作系统不可见的符号链接的android系统,当你在安装软件到内部存储的时候,系统无法分辨你是安装到了内部存储NAND中还是sd卡的ext分区中,于是,就这么瞒天过海,软件从手机内部存储安装到了sd卡上。

这样,这个方式可以很有效的节省你的手机内部存储。

但是,这个ext分区在windows下是不可见的。

在windows下,你的sd卡像是少了一部分空间一样,而少的这一部分,就是你的ext分区的空间。

比如,你有一张4g的sd卡,(大概有3.5g的实际使用空间),然后你创造了一个512m的ext分区,这时将卡插到电脑上,windows显示你的卡就只有3g了。

“失去”的那些空间其实没有失去,只是被windows无法看到的ext分区使用了。

当你重新格式化你的sd卡时,这些空间自然就又会出现。

更重要的是,应为ext格式支持日志功能,所以这个分区不需要“正在准备sd卡”,意味着这个分区在你手机启动的一刹那就可以正常的访问:

所有你桌面小工具啊等等东西,就可以开机运行。

(不像2.2的app2sd,开机之后小插件消失)

最后,app2sd和apps2sd+,这两个概念,还是有一些区别的。

记得之前我说过,所有的程序都是储存在NAND中的一个文件夹中吗?

其实,这个不准确。

准确的说,是储存在两个地方。

这第二个地方,叫做DavlikCache。

你其实不需要知道这个东西是什么,只要知道的是,所有的程序都需要调用这东西来储存数据,所以,最终这东西也会慢慢的耗掉你的NAND存储空间。

Apps2sd+就将DavlikCache也一并移动到了ext分区上,省出更多的空间。

一些人认为,这样会导致性能的损失,因为他们觉得内部存储的NAND应该总是比外部的sd卡块。

(这就是为什么人们总是争吵到底是class4还是class6的sd卡,更适合apps2sd,这争吵背后的逻辑就是,更快的卡对性能提升更好)。

但事实是,你的程序最后还是从手机中RAM中开始运行,所以,基本上没有什么影响。

同时,考虑到大多数的软件都是几百k,最多不过1,2m,其实对性能没有任何影响。

还有就是,任何最近发布的apps2sd或者apps2sd+都可以在任何sd卡上工作,不论这个sd卡是否有ext分区。

在手机第一次启动的时候,它会自动检查sd卡,如果卡上没有分区,那么,它就自动将程序撞到手机内部存储中。

同样,即便你的卡有了ext分区,但没有apps2sd+功能,这也不会引起任何问题。

总而言之:

App2sd“伪造一个内部储存空间来,然后将程序装到这里面去。

App2sd+将更多的东西放到sd卡,省出更多空间。

2.2的apps2sd与之前的app2sd相比,问题多多,但是确实最简单的一种,因为,他不需要分区。

===================

附上一段如何检查是否正确安装ext分区的a2sd+的代码:

输入su并敲击回车,superuser会问是否给予这个编辑器权限,点击allow。

输入ls-l/data,回车。

你应该能看到出来不少行文字。

让手机横屏过来。

在最右边的一列,应该在其中的某几行有如下的语句:

dalvik-cache->/system/sd/dalvik-cache

app-private->/system/sd/app-private

app->/system/sd/app

注意其中的“sd”字样。

如果有,就是正确安装。

或者输入busyboxdf-h来确定/system/sd这个文件夹是否已经被使用。

如果能够看到,那么,apps2sd已经正确安装了。

最后,或者输入ls/system/sd/app,这个直接列出安装在sd卡上的程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1