Chinaunix首页 | 论坛 | 博客
  • 博客访问: 657928
  • 博文数量: 185
  • 博客积分: 1875
  • 博客等级: 上尉
  • 技术积分: 2107
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-23 23:21
个人简介

有时候,就是想窥视一下不知道的东东,因为好奇!

文章分类

全部博文(185)

文章存档

2024年(1)

2023年(3)

2020年(1)

2019年(1)

2018年(1)

2017年(2)

2016年(69)

2015年(53)

2014年(14)

2013年(1)

2012年(5)

2011年(25)

2010年(9)

分类: 嵌入式

2011-07-04 00:43:45

android模拟器中提取文件

1.先进入/media/STUDY/android/code/android_src-2.2/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools目录。
    #cd /media/STUDY/android/code/android_src-2.2/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools
2.再创建一个名为myAndroid的虚拟设备。
    #./android create avd -n myAndroid -t 1

3.启动名为myAndroid的虚拟设备并进入shell。并规定系统,数据等的映象文件路径,模拟器内核采用prebuild/android-arm/kernel/kernel-qemu。
    #./emulator -avd myAndroid -sysdir /media/STUDY/android/code/android_src-2.2/out/target/product/generic -data /media/STUDY/android/code/android_src-2.2/out/target/product/generic/userdata.img  -ramdisk  /media/STUDY/android/code/android_src-2.2/out/target/product/generic/ramdisk.img -kernel /media/STUDY/android/code/android_src-2.2/prebuilt/android-arm/kernel/kernel-qemu -shell

4.打开一个新的终端进行操作。进入工具目录:
    #cd /media/STUDY/android/code/android_src-2.2/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/platform-tools/

5.使用adb工具的pull指令将虚拟器中的指定目录及其下文件复制到主机的指定目录下
   #./adb pull /system /home/zl/build_android_fs/rootfs/system
   #./adb pull /data /home/zl/build_android_fs/rootfs/data

网上搜一通后发现,更多的是用tar打包后再将文件取出的:
启动名为myAndroid的虚拟设备后,需要:
1.用adb工具的remount指令将/system目录重新挂载成可读写,这一步必须,否则文件传不到/system目录上:
  root@android:/ # mount
  rootfs / rootfs ro 0 0
  tmpfs /dev tmpfs rw,mode=755 0 0
  devpts /dev/pts devpts rw,mode=600 0 0
  proc /proc proc rw 0 0
  sysfs /sys sysfs rw 0 0
  none /acct cgroup rw,cpuacct 0 0
  tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0
  none /dev/cpuctl cgroup rw,cpu 0 0
  /dev/block/mtdblock0 /system yaffs2 ro 0 0
  /dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
  /dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
  root@android:/ #
#./adb remount
2.将busybox中的tar通过adb工具的push指令将tar传入到虚拟器的/system/bin目录中
#./adb push /home/zl/s3c2440_nfs/bin/tar /system/bin
3.进入到Android模拟器的shell中将要提取的数据打包。操作如下:
    #tar -czf /cache/system.tar.gz /system
    #tar -czf /cache/userdata.tar.gz /data
4. 使用adb工具的pull指令将打包的文件取出
    #./adb pull /cache/system.tar.gz .
    #./adb pull /cache/data.tar.gz .
5.再将其解压到/home/zl/build_android_fs/rootfs下相应的目录中
   tar xf system.tar.gz -C /system /home/zl/build_android_fs/rootfs
   tar xf data.tar.gz -C /system /home/zl/build_android_fs/rootfs
 
阅读(3275) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~