Android模拟器正确应用与安装方法

移动开发 Android
Android模拟器的使用,可以帮助我们很好的学习这一操作系统,方便大家理解。那么在这里就为大家介绍一下相关的应用与安装技巧。

手机从出现至今,已经逐渐的成为了人们的必备工具之一。许多厂家都在不断的改变手机的功能,提升其在生活工作中所占据的重要地位。Google公司推出了一款手机操作系统Android,可以提升手机性能,方便灵活的应用于人们的生活与工作中。在这里我们就先来了解一下这一系统中Android模拟器的相关概念。

要玩GPhone的Android模拟器,当然需要先去google上面下载Android的SDK,解压出来后在SDK的根目录下有一个tools文件夹,里面就是模拟器和一些非常有用的工具。

双击“emulator.exe”,直接启动模拟器,简单吧。当然,如果要对模拟器进行一些定制,还是要从命令行调用,带上参数启动。下面就来介绍一下启动是常用的几个参数:

1.Android模拟器外观的定制:

  1. 480x320, landscape: emulator -skin HVGA-L  
  2. 320x480, portrait : emulator -skin HVGA-P (default)  
  3. 320x240, landscape: emulator -skin QVGA-L  
  4. 240x320, portrait : emulator -skin QVGA-P 

2.为Android模拟器加上SD卡:

  1. emulator -sdcard D:\sdcard.img 

下面我们再来说说如何创建"sdcard.img"文件:

“tools”目录下还有另外一个很好用的工具“mksdcard.exe”,一看名字就知道——make sdcard。对,就用它来创建一个“SD卡”。

命令为:

  1. mksdcard 1024M D:\sdcard.img 

OK,这样一个容量为1G的SD卡就创建完毕了。#t#

使用SDCard:

创建: mksdcard < 1024M> < sdcard.img>
(bytes(default),K,M)

连接到Android模拟器: emulator -sdcard < 目录/sdcard.img>

传文件到SDCard: adb push < 目录/audio.mp3> < /sdcard/audio.mp3>

玩过手机模拟器的人一般最感兴趣的当然是模拟器能做什么呢?下面一一道来:

GPhone的模拟器有个特有的号码:15555218135,这个就类似我们实体手机的SIM卡号码啦。要实现拨号,用手机?当然不行!

更简单,三步:

1.运行 cmd

2.连接: telnet localhost 5554

3.命令:gsm call 15555218135

look!是不是Android模拟器上显示来电了?接听/挂断和实体手机一样。

发短信也一样简单,重复上面1,2两步,第三部命令改一下:
sms send 15555218135 Hello,this is a Message.

来说说PC与模拟器文件传输的方法吧。这里需要用到另一个重要工具,也在“tools”目录下,“adb.exe”。

adb:

adb(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机 模拟器 的状态 。还可以进行以下的操作:

1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;

2、在设备上运行shell命令;

3、管理设备或Android模拟器上的预定端口;

4、在设备或手机模拟器上复制或粘贴文件

一些常用的操作:

进入Shell: adb shell

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]

如:adb shell dmesg会打印出内核的调试信息。
(Android的linux shell做了大量精简,很多linux常用指令都不支持)

上传文件: adb push < PC文件> < /tmp/...>

下载文件: adb pull < /tmp/...> < PC文件>

安装程序: adb install < *.apk>

卸载软件: adb shell rm /data/app/< *.apk>

补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径,卸载只需要简单的执行"rm"就行。

结束adb: adb kill-server

显示Android模拟器状态:

  1. adb devices (端口信息)  
  2. adb get-product (设备型号)  
  3. adb get-serialno (序列号) 

等待正在运行的设备: adb wait-for-device

端口转发: adb forward adb forward tcp:5555 tcp:1234
(将默认端口TCP 5555转发到1234端口上)

查看bug报告: adb bugreport

adb shell sqlite3 访问数据库SQLite3

adb shell logcat -b radio 记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

应用程序配置文件:

  1. "AndroidManifest.xml"中  
  2. "< category android:name="android.intent.category.LAUNCHER" />

决定是否应用程序是否显示在Panel上

am指令(在shell内使用am来加载android应用):

  1. am [start|instrument]   
  2. am start [-a < ACTION>]   
  3. [-d < DATA_URI>]  
  4. [-t < MIME_TYPE>]   
  5. [-c < CATEGORY> [-c < CATEGORY>] ...]   
  6. [-e < EXTRA_KEY> < EXTRA_VALUE> [-e < EXTRA_KEY> < EXTRA_VALUE> ...]  
  7. [-n < COMPONENT>] [-D] [< URI>]   
  8. am instrument [-e < ARG_NAME> < ARG_VALUE>]   
  9. [-p < PROF_FILE>]   
  10. [-w] < COMPONENT> 

#p#

启动浏览器:
am start -a android.intent.action.VIEW -d http://www.google.cn/

拨打电话:
am start -a android.intent.action.CALL -d tel:10086

启动google map直接定位到北京:
am start -a android.intent.action.VIEW geo:0,0?q=beijing

目录:

  1. # ls  
  2. ls  
  3. sqlite_stmt_jou  
  4. cache  
  5. sdcard  
  6. etc  
  7. init  
  8. init.goldfish.r  
  9. init.rc  
  10. data  
  11. system  
  12. proc  
  13. sys  
  14. sbin  
  15. default.prop  
  16. root  
  17. dev 

这里要说明下,从andorid中得到的文件流的字符串的顺序是按“类型+权限+拥有者+数组+大小+日期+名称+链接到”顺序排列的,其中类型“d”表示的是文件夹,"l"表示的是链接,'-'表示的是文件。

例如d rwxrwx--- system cache 2009-01-09 11:46 cache

上面的目录就是通过解析ls命令返回的字符串进行解析的。

数据库:

  1. 联络人(含通话记录)数据库:
  2. /data/data/com.android.providers.contacts/databases/contacts.db  
  3. 媒体库(貌似记录铃声设置等信息): 
  4. /data/data/com.android.providers.media/internal.db  
  5. 系统设置: 
  6. /data/data/com.android.providers.settings/databases/settings.db  
  7. 短信库: 
  8. /data/data/com.android.providers.telephony/databases/mmssms.db  
  9. Web设置: 
  10. /data.data/com.android.settings/databases/webview.db  
  11. 地图搜索历史记录:
  12. /data/data/com.google.android.apps.maps/databases/search_history.db  
  13. 帐号库?(内含androidId信息) : 
  14. /data/data/com.google.android.googleapps/databases/accounts.db  
  15. 铃声: /system/media/audio  
  16. 时区设置: 
  17. /data/property/persist.sys.timezone 

目前的安装模式

安装前:

  1. emulator -wipe-data  
  2. adb push busybox ./  
  3. adb shell ./busybox tar -cf /tmp/data.tar /data  
  4. adb pull /tmp/data.tar .  
  5. mkdir original  
  6. cd original  
  7. tar -xf ../data.tar 

安装后:

  1. adb shell ./busybox tar -cf /tmp/data.tar /data  
  2. adb pull /tmp/data.tar .  
  3. mkdir after_install  
  4. cd after_install  
  5. tar -xf ../data.tar 

目前来看,就是/data/app和data/data下多了两个相关文件,同时在/data/system/packages.xml中增加了安装的程序信息。似乎菜单也是从这个文件中得到是否新安装程序,以及如何显示相关信息比如名称什么的。

Android模拟器和真机的不同之处:

  1. * 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)  
  2. * 不支持USB连接  
  3. * 不支持相机/视频捕捉  
  4. * 不支持音频输入(捕捉);但支持输出(重放)  
  5. * 不支持扩展耳机  
  6. * 不能确定连接状态  
  7. * 不能确定电池电量水平和交流充电状态  
  8. * 不能确定SD卡的插入/弹出  
  9. * 不支持蓝牙 

Android模拟器使用注意:

平时使用emulator测试开发的网友注意应该定期清理下C:\Documents and Settings\sh\Local Settings\Temp\AndroidEmulator文件夹,由于Android模拟器每次运行时会临时生成几个.tmp后缀的临时文件,没有几个月功夫简单一看竟然占用磁盘空间高达5GB之多。这些文件网友可以安全的删除。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-07-26 17:43:34

SQL Server

2010-01-25 11:29:33

Android计时器

2010-02-05 17:49:24

C++常量引用

2011-05-27 13:36:30

Android SDK

2010-01-27 18:27:07

Android模拟器应

2010-02-01 15:26:44

C++ inline函

2024-04-08 08:26:54

2010-03-04 14:02:51

Python大小写

2010-03-03 17:11:08

2021-07-02 16:13:01

区块链金融数据库

2010-05-28 15:16:40

MySQL 资源

2009-12-07 14:38:14

PHP foreach

2010-07-05 14:34:19

2011-05-24 11:04:58

Android

2010-02-22 10:42:12

WCF Stream

2012-12-25 12:26:39

2011-05-26 13:22:33

电脑上安装 Android

2010-05-25 18:01:35

linux MySQL

2010-02-22 14:09:08

WCF Dispose

2010-05-28 19:20:36

MySQL mysql
点赞
收藏

51CTO技术栈公众号