G1 App to SD 完全教程

来源:百度文库 编辑:神马文学网 时间:2024/05/03 22:58:44

G1 App to SD完全教程

发贴者抹香鲸五月 09,
2009

声明1:你所需要的软件在这里可以下载的到!
声明2.app2sd虽然可以省却手机内存,但是也有许多不便的地方!操作后SDcard就是机子的一部分,不能随便摘取.我用的4G的卡,在机子挂在后存储有问题!不知道其他卡如何.所以在存储文件和音乐的时候还是需要用到读卡器,而这个时候我必须选择关机!直接卸载SDcard会造成机子程序出错!而不得不从新执行一遍app2sd的过程!并且执行过后也会存在一些不可知的问题!如果对稳定性比较看重的人这里可以飘过了!
声明3.我的sdcard已经在手机内通过!懒得再刷,所以没有用我的card抓图!本教程图片多为网上现成图片来完成!而图片不是一个地方抓取的!所以图片上的容量会有差距.但是刷机过程没有错

从新格盘,正好用自己的图!顺便说一下,ubuntu下的默认抓图真恶心!每抓一张都要从新启动一次程序!


所需要的准备的工作:
1.SDcard(必须)
2.分区软件(必须,windows下可以使用Acronis Disk DirectorSuite,支持vista.linux下可以直接利用终端分区!)
3.Android SDK(非必须,可以再网上下载TerminalEmulator.apk,安装后在手机上输入adb下的指令完成操作!)
首先我们要将SDcard分区,分成fat32和ext2,至于ext3是否可行我没有测试过,有兴趣的可以试试并且留言告诉我测试报告!

我选择的是在ubuntu的终端执行,这样操作比较靠谱.而在windows下的分区软件不是很稳定!会造成诸多不可见的错误!

windows下的分区软件有Acronis Disk DirectorSuite以及PartitionManager,至于分区魔术师可以略过,因为它不支持分区SDcard.Acronis Disk DirectorSuite软件分区可以移步到此查看!

以USB内存卡方式插上电脑,或者用读卡器插上电脑
像我的ubuntu,它会自动挂载你的卡。
把东西备份好,然后卸载。一定要卸载,不然无法分区

启动ubuntu或者您的linux系统,在终端内输入如下代码:

dmesg //查看所连接的设备!


可以看到sdb或者sdc之类的设备名称!假设我以下操作都为sdc设备!

sudo fdisk /dev/sdc//这里需要说明,如果linux下非root,必须要输入sudo来取得root权限进行操作.以下类同!

p是显示当前分区
n是创建
d是删除
w是应用你的操作

doo@ubuntu:~# sudo fdisk/dev/sdc
Command (m for help): d < ==删除当前分区
Command (m forhelp): p <==显示一下,确定已删除
Disk /dev/sdc: 3965 MB, 3965714432 bytes
122heads, 62 sectors/track, 1024 cylinders
Units = cylinders of 7564 *512 = 3872768 bytes
Disk identifier: 0x9dfd42a5

Device Boot Start End Blocks Id System

Command (m for help):

Command (m for help): m< ==查看帮助
Command action
a toggle a bootable flag
b edit bsddisklabel
c toggle the dos compatibility flag
d delete a partition
llist known partition types
m print this menu
n add a newpartition
o create a new empty DOS partition table
p print thepartition table
q quit without saving changes
s create a new emptySun disklabel
t change a partition's system id
u changedisplay/entry units
v verify the partition table
w write table todisk and exit
x extra functionality (experts only)
Command (m forhelp): n <==新建分区,选择主分区
Command action
e extended
p primarypartition (1-4)
p
Partition number (1-4): 1 <==指定该主分区为1号
Firstcylinder (1-1024, default 1): <==敲回车,直接使用SD卡的最开头
Using defaultvalue 1
Last cylinder or +cylinders or +sizeK(K,M,G) (1-1024, default1024): +3300M <==填入分区的大小
Command (m for help): n<==新建分区,选择扩展分区(所有逻辑分区加起来就是扩展分区)

Command action
e extended
p primary partition (1-4)
p
Partitionnumber (1-4): 2 <==扩展分区的序号是2
First cylinder (895-1024, default895): <==敲回车,直接接着剩余空间的最开头
Using default value 895
Last cylinderor +cylinders or +sizeK(K,M,G) (895-1024, default 1024):<==敲回车,用默认的,使用全部剩余空间
Using default value 1024
Command (m forhelp):

Command (m for help):p

Disk /dev/sdc: 3965 MB,3965714432 bytes
122 heads, 62 sectors/track, 1024 cylinders
Units= cylinders of 7564 * 512 = 3872768 bytes
Device Boot Start EndBlocks Id System
/dev/sdc1 1 894 733792+ 83 Linux
/dev/sdc2 7291024 272128+ 83 Linux

创建好两个分区后,我们还需要用命令t修改分区卷标, 选择分区1改卷标为c
命令为

Command (m for help):t t< ==修改卷标
partition number (1-4): 1 <==输入1来制定第一个分区.
Hex code(type L to List codes): c <==输入C来制定卷标
Changed system type ofpartition 1 to c (W95 FAT32 (LBA))

Command (m for help): w <==将缓冲写入SD卡,应用你的操作

The partition table has beenaltered!
Calling ioctl() to re-read partition table.

WARNING: If you have createdor modified any DOS 6.X
partitions, please see the fdisk manual pagefor additional
information.
Syncing disks.
doo@ubuntu:~#

doo@ubuntu:~# sudo ls/dev/sdc* < ==查看分区情况
/dev/sdc /dev/sdc1 /dev/sdc2
doo@ubuntu:~#sudomkfs.vfat /dev/sdc1 <==格式化第一个主分区。
mkfs.vfat 3.0.1 (23 Nov 2008)
doo@ubuntu:~#sudo mkfs.ext2 /dev/sdc2 <==格式化第二个分区
mke2fs 1.41.4 (27-Jan-2009)
warning:139 blocks unused

Filesystemlaber=
OS type: Linux
Block size=1024 (log=0)
Fragmentsize=1024 (log=0)
123360 inodes, 491521 blocks
24583 blocks(5.00%) reserved for the super user
First data block=1
Maximumfilesyetem blocks=67633152
68 block groups
8192 blocks per group,8192 fragments per group
2856 inodes per group
Superblock backupsstored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185,401409

Writing inodetables: done
Writing superblocks and filesystem accountinginformation: done

Thisfilesystem will be automatically checked every 38 mounts or 180days.whichever comes first. Use tune2fs -c or -i to override.
doo@ubuntu:-$


分区完毕后ubuntu会自动挂在两个盘符.表示成功!

然后需要手机必须为app2sd版本的rom,在windows 命令提示符下输入命令查看:
以下步骤必须安装androidsdk.(其实一下步骤不一定需要在windows cmd下进行,在网上下载一个android的终端TerminalEmulator.apk,然后启动此程序在手机内输入以下指令是一样的!只是在sdcard的系统盘下建立app文件夹并挂载到androidrom上! )

C:\Documents andSettings\doo>cd c:\sdk\tools < ==cd到sdk adb.exe
C:\sdk\tools>adbdevices < ==查看连接的硬件和设备
List of devices attached
000000000000device <==分区过硬盘以后连接会显示000000000000 的硬件号

C:\sdk\tools>adb shell
# su <==如果你还没有取得root权限,那么这一步通不过.
su
# ls /system <==查看一下system目录下的文件夹
ls/system
lib
framework
media
fonts
etc
customize
build.prop
usr
bin
xbin
app
sd
lost+found

# busybox df -h <==查看系统盘情况!如果分区成功,那么会在android的系统下显示分区.如下我的385.8M的分区在android的系统内!再往下是sdcard的系统!如果没有那表示分区失败.当然还有一种可能就是你的手机不是app2sd rom
busybox df -h
Filesystem Size Used AvailableUse% Mounted on
tmpfs 48.3M 0 48.3M 0% /dev
tmpfs 4.0M 12.0k 4.0M0% /sqlite_stmt_journals
/dev/block/mtdblock3 67.5M 67.5M 0 100%/system
/dev/block/mtdblock5 74.8M 30.4M 44.3M 41% /data
/dev/block/mtdblock467.5M 1.2M 66.3M 2% /cache
/dev/block/mmcblk0p2 385.8M 2.0k 366.5M0% /system/sd <==由于在ubuntu下分区后手机内读取sdcard出错,所以后便又分了一次!但是没有抓图,所以容量上和上图有差距.再者本身linux和windows读取SDcard的容量上就有不同!
/dev/block//vold/179:1
3.3G 4.0k 3.3G 0%/sdcard
# mkdir /system/sd/app<==建立sdcard分区上的app文件夹!如果以前sdcard曾做过app2sd,那么这个文件夹是存在的!会有命令符提示文件夹存在!
mkdir/system/sd/app
# cd /data
cd /data
# cp -a app /system/sd/app
cp-a app /system/sd/app
# rm -r app
rm -r app
# ln -s/system/sd/app /data/app
ln -s /system/sd/app /data/app
# reboot
reboot


手机自动重启后就OK了.放心安装你所想要的apk程序吧!

顺便说一句:ubuntu的9.04快要放出正式版了!欢迎大家下载试用.