`
sunnyday55555
  • 浏览: 62823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android模拟器入门[转]

阅读更多


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

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

1.模拟器外观的定制:
480x320, landscape: emulator -skin HVGA-L
320x480, portrait : emulator -skin HVGA-P (default)
320x240, landscape: emulator -skin QVGA-L
240x320, portrait : emulator -skin QVGA-P

2.为模拟器加上SD卡:
emulator -sdcard D:\sdcard.img

下面我们再来说说如何创建"sdcard.img"文件:
“tools”目录下还有另外一个很好用的工具“mksdcard.exe”,一看名字就知道——make sdcard。对,就用它来创建一个“SD卡”。

命令为:
mksdcard 1024M D:\sdcard.img

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

使用SDCard:

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

连接到模拟器: 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!是不是模拟器上显示来电了?接听/挂断和实体手机一样。

发短信也一样简单,重复上面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、管理设备或手机模拟器上的预定端口;
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模拟器状态:
adb devices (端口信息)
adb get-product (设备型号)
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 记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

应用程序配置文件:
"AndroidManifest.xml"中
"<category android:name="android.intent.category.LAUNCHER" />"
决定是否应用程序是否显示在Panel上

-----------------------------------------------------------------------------------

am指令(在shell内使用am来加载android应用):
am [start|instrument]   
   
am start [-a <ACTION>]
   [-d <DATA_URI>]
   [-t <MIME_TYPE>]                
   [-c <CATEGORY> [-c <CATEGORY>] ...] 
   [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
   [-n <COMPONENT>] [-D] [<URI>]      

am instrument [-e <ARG_NAME> <ARG_VALUE>]
   [-p <PROF_FILE>]                
   [-w] <COMPONENT>

启动浏览器:
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

-----------------------------------------------------------------------------------

目录:
# ls
ls
sqlite_stmt_jou
cache
sdcard
etc
init
init.goldfish.r
init.rc
data
system
proc
sys
sbin
default.prop
root
dev

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

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

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

-----------------------------------------------------------------------------------

数据库:

联络人(含通话记录)数据库:/data/data/com.android.providers.contacts/databases/contacts.db
媒体库(貌似记录铃声设置等信息): /data/data/com.android.providers.media/internal.db
系统设置: /data/data/com.android.providers.settings/databases/settings.db
短信库: /data/data/com.android.providers.telephony/databases/mmssms.db
Web设置: /data.data/com.android.settings/databases/webview.db
地图搜索历史记录:/data/data/com.google.android.apps.maps/databases/search_history.db
帐号库?(内含androidId信息) : /data/data/com.google.android.googleapps/databases/accounts.db

铃声: /system/media/audio
时区设置: /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模拟器和真机的不同之处:

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

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

相关推荐

    Android模拟器皮肤6套

    本文将深入探讨“Android模拟器皮肤6套”这一主题,介绍相关知识点,帮助用户更好地理解和利用这些资源。 首先,Android模拟器皮肤,也称为AVD(Android Virtual Device)皮肤,是用来改变模拟器外观的配置。这些...

    Android模拟器皮肤 三个新的

    本文将深入探讨“Android模拟器皮肤”这一主题,特别关注新推出的“G1”、“asus”和HVGA-P(修改版)这三种皮肤。 首先,Android模拟器皮肤是模拟器用户界面的一种定制化表现形式,它可以模拟不同的设备外观和屏幕...

    Android模拟器及编译环境安装新手入门[pdf].rar

    这份“Android模拟器及编译环境安装新手入门”教程将帮助初学者顺利搭建所需的开发环境,以便开始编写、测试和调试应用程序。以下是这个主题的一些关键知识点: 1. **Android Studio**: Android Studio是Google官方...

    Android模拟器及编译环境安装新手入门.pdf

    ### Android模拟器及编译环境安装新手入门 #### 前言 本文档旨在为初次接触Android开发的新手提供一个全面、易懂的指南,帮助读者顺利安装Android模拟器及编译环境。文档作者Mercury@阿肆分享了自己的实践经验,并...

    Android模拟器及编译环境安装新手入门.

    ### Android模拟器及编译环境安装新手入门 #### 前言 本篇文章旨在为初次接触Android开发的新手提供一个全面、易于理解的指南,帮助读者顺利安装Android模拟器及编译环境。文章作者Mercury@阿肆通过两天的努力编写...

    delphi XE6 android 编程入门pdf 含 demo源码

    首先,书中讲解了如何搭建开发环境,包括安装Delphi XE6、配置Android SDK以及设置模拟器或连接实际设备。接着,作者高勇老师引导读者了解Android的基本概念,如Activity、Intent、Service等,并教授如何在Delphi XE...

    android开发入门与实践体验-光盘代码

    在Android开发领域,入门与实践是提升技能的关键步骤。"Android开发入门与实践体验-光盘代码"提供了宝贵的资源,帮助初学者通过实际操作来学习Android应用开发。这本书的代码部分旨在让读者深入理解Android应用的...

    Android编程入门很简单

    在进入Android编程的世界之前,首先理解“Android编程入门很简单”这一标题所蕴含的含义是非常重要的。这表明Android编程并不是一个遥不可及的技术高峰,而是对初学者友好且易于上手的。Android是一种开源的操作系统...

    Android开发入门与实战 第二版 源码 最新更新

    在入门阶段,你需要了解如何下载并安装Android Studio,配置SDK(Software Development Kit),以及设置AVD(Android Virtual Device)用于模拟器测试。 二、环境搭建 1. 安装Android Studio:官方下载地址,选择...

    Android从入门到精通(明日科技著)5、6章源代码

    全书共分15章,内容包括Android快速入门、Android模拟器与常用命令、用户界面设计、高级用户界面设计、基本程序单元Activity、Android应用核心Intent、Android事件处理、资源访问、图形图像处理技术、多媒体应用开发...

    android编程入门(中文PDF版)

    除了使用IDE外,还可以通过命令行工具进行开发和调试,本章节将介绍如何使用命令行工具创建、编译、安装和运行Android应用,以及如何使用Android模拟器测试应用。 ### 五、深入实践 **5.1 使用Intents和电话拨号盘...

    Android Studio 入门级教程(高清版)

    1. 配置模拟器或连接物理设备:Android Studio内置模拟器,也可连接真实设备进行测试。 2. Run按钮:点击运行按钮,应用将部署到目标设备上。 3. 调试工具:利用断点、步进执行、变量查看等功能进行调试。 七、版本...

    Android从入门到精通(明日科技著)第十五章源代码家庭理财通

    全书共分15章,内容包括Android快速入门、Android模拟器与常用命令、用户界面设计、高级用户界面设计、基本程序单元Activity、Android应用核心Intent、Android事件处理、资源访问、图形图像处理技术、多媒体应用开发...

    Android从入门到精通(PPT)

    《Android从入门到精通》是一套全面且深入的Android学习资料,主要针对初学者和希望进一步提升Android开发技能的开发者。这份PPT光盘包含了从基础概念到高级实践的完整内容,旨在帮助读者掌握Android应用开发的核心...

    android入门快速入门第一天

    9. **运行与模拟器**:了解如何在Android模拟器或真实设备上运行你的应用,以及如何进行测试,是实际操作的第一步。Android Studio内置的AVD Manager可以创建和管理虚拟设备,让你无需实体设备也能进行开发测试。 ...

    Google Android开发入门指南

    - **Android SDK**:Android Software Development Kit,包含了开发Android应用程序所需的所有工具,包括Android模拟器(Emulator)。 #### 三、安装流程 下面是具体的安装步骤: 1. **下载Eclipse**:访问...

Global site tag (gtag.js) - Google Analytics