现在的位置: 首页 > 综合 > 正文

android sd卡的创建及使用

2013年07月18日 ⁄ 综合 ⁄ 共 10064字 ⁄ 字号 评论关闭

Android模拟器下怎么建一个SD卡及其上传资料和文件夹的建立全解

最近在做一个应用要在android模拟器上建一个SD卡,放进去一些文件。就自己的心得写一些:

有两个方法,这个大家在百度上一搜就有好多,几乎是一个版本:

用cmd命令建SD卡,这个方法比较直观容易理解:

1.创建镜像文件

用cmd中进入到android的SDK的Tools目录下,执行mksdcard创建。

例如我的tools目录为:E:\skyland\android-sdk-windows-1.0_r2\tools>

则:E:\skyland\android-sdk-windows-1.0_r2\tools>mksdcard 128M sdcard.img

其中第一个参数为要创建的sdcard容量大小(容量大小自己决定),第二个参数为sdcard的名字

2.启动带sdcard的Android模拟器

在刚才的Dos界面下,E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

这样会看到tools目录下就会动态的产生一个sdcard.img.lock的文件夹,当关闭模拟器时又会消失

注意:不要关闭这个Dos窗口,不然连模拟器也会关掉,后面一步也不能执行

3.添加文件到sdcard

另外开一个Dos窗口(cmd),还是要cd到android的SDK的Tools目录下,用adb push命令添加

E:\skyland\android-sdk-windows-1.0_r2\tools>adb push new.JPG /sdcard

第一个参数为要加入的图片(mp3)全名,如果名字中间有空格,要用双引号将其括起来

如:E:\skyland\android-sdk-windows-1.0_r2\tools>adb push "First Start.mp3" /sdcard

第二参数就是刚才创建的sdcard了。

4.查看所添加的文件

这一步可能要以带sdcard的方式重启Android模拟器才能看到刚才所添加的资源文件,即先关掉模拟器,

然后E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

启动模拟器之后,点击MENU上面那箭头-->Dev Tools-->Raw Image Viewer 就会以幻灯片的形式

看到刚添加的

图片文件了,然后通过按下面左右控制图片浏览

有人说可以在MENU上面那箭头-->Dev Tools-->Media Scanner看到所添加的mp3文件,但我试来不

行, 哪位行的话给我留言....呵呵

我的方法是:MENU上面那箭头-->Music-->Songs就看到所添加的mp3文件了,点一首Enjoy一下吧

本来第一首是英文名的,但不知道为什么会乱码,还有我加入的文件名跟显示歌名不同的

===========MyEclipse下使用sdcard==============

如果没创建.img文件的话,请回到开头做1,2步。

注意:如果没按第2步启动模拟器,却做下面的内容的话,就会报错说 sdcard是只读文件,

添加不成功

1.启动MuEclipse,菜单Window-->Perspective-->other-->DDMS

选中sdcard,然后点击push就可以把图片的资源添加到sdcard了

2.用到sdcard资源编译Android应该程序

如果编译Android应该程序的时候需要用到sdcard的资源,则在选则运行文件后

右击Run As-->Open Run Dialog-->Target

在Target标签的Aditional Emulator Command Line Options中加入启动参数

-sdcard E:\skyland\android-sdk-windows-1.0_r2\tools\sdcard

注意:是绝对路径

如果没按第二步启动模拟器的话,permissions那列对应的sdcard将会是“---------”

++++++++++++++++++++++++++++++++++++++++++

Andorid开发中经常遇到与SD卡有关的调试,Android SDK+Eclipse提供了SD卡的模拟方法。使用方法如下:

  1、创建一个SD卡镜像文件。

   打开cmd,输入如下命令:

   mksdcard 1024M sdcard.img

   该命令会在当前目录下生成一个sdcard.img文件,该文件就是Android模拟器的SD卡镜像文件。

   1024M表示1024兆,即该SD卡有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。

   目前Android支持8M~128G的SD卡。

  2、运行带有SD卡的模拟器

  创建了SD卡镜像文件,只是创建了一个文件,还不能在模拟器中直接用,要在模拟器中可看到该SD卡,方法有两种,如下:   

   ◆在cmd中,命令如下:

   emulator -sdcard e:sdcard.img

   ◆在Eclipse中,在Run->Run Configurations...菜单里面的Target标签页里面,输入启动参数,如下图:

3、向SD卡中导文件

   ◆在cmd中,命令如下:

这会将本地当前目录下的test.txt文件考到sdcard中,文件名不变。前一个test.txt是本地文件的路径,sdcard是目的sdcard镜像的文件名(去掉后缀)。

   ◆在Eclipse中,操作如下:

   在设置了RUN的命令参数之后,RUN一个应用,然后使用DDMS的File Explorer工具导入导出文件。

   打开DDMS工具:在Eclipse的Window->Open Perspective->Other...里面打开DDMS工具。

   在DDMS的File Explorer标签页里面选择sdcard目录导入导出文件,如下图:

4、在模拟器中使用SD卡中的文件

   导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面scan一下媒体文件

****************************************

上面主要说了怎么创建和导入文件,可是在镜像的SD卡里怎么创建一个文件夹和删除已经上传的文件需要用到adb命令,下面是一些比较全的adb命令:

android adb shell常用命令

最进学到了adb工具的一些小技巧,记录在此。操作系统是windows用。

1. 显示系统中全部Android平台:
android list targets
2. 显示系统中全部AVD(模拟器):
android list avd
3. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
4. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
android delete avd --name 名称
6. 创建SDCard:
mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
ddms
9. 显示当前运行的全部模拟器:
adb devices
10. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
11. 安装应用程序:
adb install -r 应用程序.apk
12. 获取模拟器中的文件:
adb pull <remote> <local>
13. 向模拟器中写文件:
adb push <local> <remote>
14. 进入模拟器的shell模式:
adb shell
15. 启动SDK,文档,实例下载管理器:
android
16. 缷载apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
17. 查看adb命令帮助信息:
adb help
18. 在命令行中查看LOG信息:
adb logcat -s 标签名
19. adb shell后面跟的命令主要来自:
源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
20. 删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
21. 获取管理员权限:
adb root
22. 启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
23、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
24、复制文件:
你可向一个设备或从一个设备中复制文件,
复制一个文件或目录到设备或模拟器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
从设备或模拟器上复制一个文件或目录:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
25、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
26、查看bug报告:
adb bugreport
27、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
28、获取设备的ID和序列号:
adb get-product
adb get-serialno
29、访问数据库SQLite3
adb shell
sqlite3

#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹

# 非阻塞logcat
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
# 用grep过滤log
windows也不要紧,grep有windows版本。其实,装了cygwin后,它就带了grep。
adb logcat | grep xxx //过滤出带xxx字样的log
# 在本地执行adb shell中的命令
我们常需要adb shell后,在设备上执行一些命令。其实可以不进入shell,直接执行设备上命令并输出到本地。例如:
adb shell "am start -n com.aaa.bbb/com.aaa.bbb.activity" //启动某程序
# 用top查看cpu使用率
可以在adb shell中,用top来查看cpu和内存等使用情况,-m参数可以只显示前几条,-n参数可以只刷新几次,然后返回,不再阻塞,在自动化时有用。例如:
adb shell "top -n 1" | grep com.aaa.bbb //不进入shell,直接在本地执行top,只执行一次,并过滤出com.aaa.bbb的那一行。通过输出,可以得到这个程序的cpu使用率,也可以判断此程序是否已退出。
# 用adb devices查看是否有已连接的设备
adb devices可以列出所有已连接的设备,并有online/offline的标志,根据分析输出可以得到是否有设备,有哪些设备。
# 批量上传/下载文件到设备
adb push和adb pull一次只能传一个文件,用for命令可以做到批量处理:
adb shell "mkdir /sdcard/yuv" //在设备上创建/sdcard/yuv目录
for %i in (*.yuv) do adb push %i /sdcard/yuv/ //将当前目录下所有扩展名为yuv的文件,上传到/sdcard/yuv/目录下

Android模拟器下怎么建一个SD卡及其上传资料和文件夹的建立全解

最近在做一个应用要在android模拟器上建一个SD卡,放进去一些文件。就自己的心得写一些:

有两个方法,这个大家在百度上一搜就有好多,几乎是一个版本:

用cmd命令建SD卡,这个方法比较直观容易理解:

1.创建镜像文件

用cmd中进入到android的SDK的Tools目录下,执行mksdcard创建。

例如我的tools目录为:E:\skyland\android-sdk-windows-1.0_r2\tools>

则:E:\skyland\android-sdk-windows-1.0_r2\tools>mksdcard 128M sdcard.img

其中第一个参数为要创建的sdcard容量大小(容量大小自己决定),第二个参数为sdcard的名字

2.启动带sdcard的Android模拟器

在刚才的Dos界面下,E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

这样会看到tools目录下就会动态的产生一个sdcard.img.lock的文件夹,当关闭模拟器时又会消失

注意:不要关闭这个Dos窗口,不然连模拟器也会关掉,后面一步也不能执行

3.添加文件到sdcard

另外开一个Dos窗口(cmd),还是要cd到android的SDK的Tools目录下,用adb push命令添加

E:\skyland\android-sdk-windows-1.0_r2\tools>adb push new.JPG /sdcard

第一个参数为要加入的图片(mp3)全名,如果名字中间有空格,要用双引号将其括起来

如:E:\skyland\android-sdk-windows-1.0_r2\tools>adb push "First Start.mp3" /sdcard

第二参数就是刚才创建的sdcard了。

4.查看所添加的文件

这一步可能要以带sdcard的方式重启Android模拟器才能看到刚才所添加的资源文件,即先关掉模拟器,

然后E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

启动模拟器之后,点击MENU上面那箭头-->Dev Tools-->Raw Image Viewer 就会以幻灯片的形式

看到刚添加的

图片文件了,然后通过按下面左右控制图片浏览

有人说可以在MENU上面那箭头-->Dev Tools-->Media Scanner看到所添加的mp3文件,但我试来不

行, 哪位行的话给我留言....呵呵

我的方法是:MENU上面那箭头-->Music-->Songs就看到所添加的mp3文件了,点一首Enjoy一下吧

本来第一首是英文名的,但不知道为什么会乱码,还有我加入的文件名跟显示歌名不同的

===========MyEclipse下使用sdcard==============

如果没创建.img文件的话,请回到开头做1,2步。

注意:如果没按第2步启动模拟器,却做下面的内容的话,就会报错说 sdcard是只读文件,

添加不成功

1.启动MuEclipse,菜单Window-->Perspective-->other-->DDMS

选中sdcard,然后点击push就可以把图片的资源添加到sdcard了

2.用到sdcard资源编译Android应该程序

如果编译Android应该程序的时候需要用到sdcard的资源,则在选则运行文件后

右击Run As-->Open Run Dialog-->Target

在Target标签的Aditional Emulator Command Line Options中加入启动参数

-sdcard E:\skyland\android-sdk-windows-1.0_r2\tools\sdcard

注意:是绝对路径

如果没按第二步启动模拟器的话,permissions那列对应的sdcard将会是“---------”

++++++++++++++++++++++++++++++++++++++++++

Andorid开发中经常遇到与SD卡有关的调试,Android SDK+Eclipse提供了SD卡的模拟方法。使用方法如下:

  1、创建一个SD卡镜像文件。

   打开cmd,输入如下命令:

   mksdcard 1024M sdcard.img

   该命令会在当前目录下生成一个sdcard.img文件,该文件就是Android模拟器的SD卡镜像文件。

   1024M表示1024兆,即该SD卡有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。

   目前Android支持8M~128G的SD卡。

  2、运行带有SD卡的模拟器

  创建了SD卡镜像文件,只是创建了一个文件,还不能在模拟器中直接用,要在模拟器中可看到该SD卡,方法有两种,如下:   

   ◆在cmd中,命令如下:

   emulator -sdcard e:sdcard.img

   ◆在Eclipse中,在Run->Run Configurations...菜单里面的Target标签页里面,输入启动参数,如下图:

3、向SD卡中导文件

   ◆在cmd中,命令如下:

这会将本地当前目录下的test.txt文件考到sdcard中,文件名不变。前一个test.txt是本地文件的路径,sdcard是目的sdcard镜像的文件名(去掉后缀)。

   ◆在Eclipse中,操作如下:

   在设置了RUN的命令参数之后,RUN一个应用,然后使用DDMS的File Explorer工具导入导出文件。

   打开DDMS工具:在Eclipse的Window->Open Perspective->Other...里面打开DDMS工具。

   在DDMS的File Explorer标签页里面选择sdcard目录导入导出文件,如下图:

4、在模拟器中使用SD卡中的文件

   导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面scan一下媒体文件

****************************************

上面主要说了怎么创建和导入文件,可是在镜像的SD卡里怎么创建一个文件夹和删除已经上传的文件需要用到adb命令,下面是一些比较全的adb命令:

android adb shell常用命令

最进学到了adb工具的一些小技巧,记录在此。操作系统是windows用。

1. 显示系统中全部Android平台:
android list targets
2. 显示系统中全部AVD(模拟器):
android list avd
3. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
4. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
android delete avd --name 名称
6. 创建SDCard:
mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
ddms
9. 显示当前运行的全部模拟器:
adb devices
10. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
11. 安装应用程序:
adb install -r 应用程序.apk
12. 获取模拟器中的文件:
adb pull <remote> <local>
13. 向模拟器中写文件:
adb push <local> <remote>
14. 进入模拟器的shell模式:
adb shell
15. 启动SDK,文档,实例下载管理器:
android
16. 缷载apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
17. 查看adb命令帮助信息:
adb help
18. 在命令行中查看LOG信息:
adb logcat -s 标签名
19. adb shell后面跟的命令主要来自:
源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
20. 删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
21. 获取管理员权限:
adb root
22. 启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
23、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
24、复制文件:
你可向一个设备或从一个设备中复制文件,
复制一个文件或目录到设备或模拟器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
从设备或模拟器上复制一个文件或目录:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
25、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
26、查看bug报告:
adb bugreport
27、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
28、获取设备的ID和序列号:
adb get-product
adb get-serialno
29、访问数据库SQLite3
adb shell
sqlite3

#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹

# 非阻塞logcat
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
# 用grep过滤log
windows也不要紧,grep有windows版本。其实,装了cygwin后,它就带了grep。
adb logcat | grep xxx //过滤出带xxx字样的log
# 在本地执行adb shell中的命令
我们常需要adb shell后,在设备上执行一些命令。其实可以不进入shell,直接执行设备上命令并输出到本地。例如:
adb shell "am start -n com.aaa.bbb/com.aaa.bbb.activity" //启动某程序
# 用top查看cpu使用率
可以在adb shell中,用top来查看cpu和内存等使用情况,-m参数可以只显示前几条,-n参数可以只刷新几次,然后返回,不再阻塞,在自动化时有用。例如:
adb shell "top -n 1" | grep com.aaa.bbb //不进入shell,直接在本地执行top,只执行一次,并过滤出com.aaa.bbb的那一行。通过输出,可以得到这个程序的cpu使用率,也可以判断此程序是否已退出。
# 用adb devices查看是否有已连接的设备
adb devices可以列出所有已连接的设备,并有online/offline的标志,根据分析输出可以得到是否有设备,有哪些设备。
# 批量上传/下载文件到设备
adb push和adb pull一次只能传一个文件,用for命令可以做到批量处理:
adb shell "mkdir /sdcard/yuv" //在设备上创建/sdcard/yuv目录
for %i in (*.yuv) do adb push %i /sdcard/yuv/ //将当前目录下所有扩展名为yuv的文件,上传到/sdcard/yuv/目录下

【上篇】
【下篇】

抱歉!评论已关闭.