电商网站开发工作室,该产品在英文站及多语言网站,php网站整合discuz,没有域名可以做网站吗原文网址#xff1a;http://blog.csdn.net/tiandinilv/article/details/8953001 1、Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的移动设备。Android的模拟器是基于QEMU开发的#xff0c;QEMU是一个有名的开源虚拟机项目#xff08;详见http://bellard.org/qem…原文网址http://blog.csdn.net/tiandinilv/article/details/8953001 1、Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的移动设备。Android的模拟器是基于QEMU开发的QEMU是一个有名的开源虚拟机项目详见http://bellard.org/qemu/它可以提供一个虚拟的ARM移动设备。Android模拟器被命名为goldfish用来模拟包括下面一些功能的ARM SoC: * ARM926ej-S CPU * Thumb support * MMC * RTC * Keyboard * USB Gadget * Framebuffer * TTY driver * NAND FLASH Android模拟器所对应的源代码主要在external/qemu目录下。如果你想将Android移植到其他设备上熟悉它目前所针对的模拟器环境可以提供一些参考。 对于应用程序的开发者模拟器提供了很多开发和测试时的便利。无论在Windows下还是Linux下Android模拟器都可以顺利运行并且Google提供了Eclipse插件可将模拟器集成到Eclipse的IDE环境。当然你也可以从命令行启动Android模拟器。 这款模拟器功能非常齐全电话本、通话等功能都可正常使用当然你没办法真的从这里打电话。甚至其内置的浏览器和Google Maps都可以联网。用户可以使用键盘输入鼠标点击模拟器按键输入甚至还可以使用鼠标点击、拖动屏幕进行操纵。 当然模拟器毕竟是模拟器和真实的机子还是存在差别的 android模拟器和真机的不同之处 * 不支持呼叫和接听实际来电但可以通过控制台模拟电话呼叫(呼入和呼出)* 不支持USB连接 * 不支持相机/视频捕捉 * 不支持音频输入(捕捉)但支持输出(重放) * 不支持扩展耳机 * 不能确定连接状态 * 不能确定电池电量水平和交流充电状态 * 不能确定SD卡的插入/弹出 * 不支持蓝牙 2、创建和启动Android模拟器 要玩GPhone的模拟器当然需要先去http://developer.android.com/sdk(如果打不开就用http://androidappdocs.appspot.com/sdk/index.html)上面下载Android的SDK解压出来后在SDK的根目录下有一个tools文件夹里面就是模拟器和一些非常有用的工具。SDK详细的安装过程请参照http://blog.csdn.net/magicyu2/archive/2009/11/02/4755747.aspx 要正确的启动模拟你必须先要创建一个 AVD( Android Virtual Device 虚拟设备 ) 你可以利用AVD创建基于不同版本的模拟器下面就介绍如何创建AVD 1 查看当前支持版本(在列出的版本中我们需要记住id值这个值在第2步中使用) magicyumagicyu-desktop:~$ android list target 你可以看到几个Available Android targets比如Name: Android 1.6他们有各自的id号。 2 创建AVD magicyumagicyu-desktop:~$ android create avd -n magicyu -t 2 -n后面接需要创建avd的名字-t后面接需要创建虚拟器的类型2即为步骤1中得到的类型id号。 3 查看是否创建成功(如果成功会显示刚才我们创建的avd信息) magicyumagicyu-desktop:~$ android list avd 4 启动模拟器 magicyumagicyu-desktop:~$ emulator magicyu 或者 emulator -avd magicyu 其中和-avd后接的是你创建过的avd名字 5 选择启动的皮肤 magicyumagicyu-desktop:~$ emulator -avd magicyu -skin QVGA skin后面接所要启动皮肤的类型所有的类型可以在SDK/ platforms/android-1.*/skins目录下找到*为所指的版本。如在1.6版本的SDK下有HVGAQVGA WVGA800WVGA854几种。按CtrlF11可以直接改变模拟器的横纵摆放。 当然AVD也可以在Eclipse中创建和启动。关于EclipseADTSDK的安装请参见http://blog.csdn.net/magicyu2/archive/2009/11/02/4755747.aspx。 运行EclipseWindow-Android SDK and AVD Manager就能得到如下的界面选择新建即可新建一个AVD。 3、Android模拟器的一些工具 1adb: ADB(Android Debug Bridge)是Android 提供的一个通用的调试工具借助这个工具我们可以管理设备或手机模拟器的状态还可以进行以下的操作 a、快速更新设备或手机模拟器中的代码如应用或Android系统升级 b、在设备上运行shell命令 c、管理设备或手机模拟器上的预定端口 d、在设备或手机模拟器上复制或粘贴文件 一些常用的操作 进入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:nameandroid.intent.category.LAUNCHER / 决定是否应用程序是否显示在Panel上 2am指令(在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?qbeijing 3为模拟器加上SD卡 emulator -sdcard path/sdcard.img 下面我们再来说说如何创建sdcard.img文件 “tools”目录下还有另外一个很好用的工具mksdcard一看名字就知道——make sdcard。对就用它来创建一个“SD卡”。 命令为 mksdcard 1024M D:/sdcard.img OK,这样一个容量为1G的SD卡就创建完毕了。 使用SDCard: 创建: mksdcard 1024M sdcard.img(bytes(default)KM) 连接到模拟器: emulator -sdcard path/sdcard.img 传文件到SDCard: adb push 目录/audio.mp3 /sdcard/audio.mp3 4Android模拟器打电话发短信 GPhone的模拟器有个特有的号码15555218135这个就类似我们实体手机的SIM卡号码啦。要实现拨号用手机当然不行 更简单三步 1.打开终端 2.连接: telnet localhost 55545554是你打开模拟器后上面显示的数字 3.命令:gsm call 15555218135 look是不是模拟器上显示来电了接听/挂断和实体手机一样。 发短信也一样简单重复上面12两步第三部命令改一下 sms send 15555218135 Hello,this is a Message. 4、Android模拟器主要命令参数介绍 emulator [-option [value]] ... [-qemu args]下面的表总结了可用的参数 Help -help打印模拟器参数列表。 -help-all打印所有启动参数明细。 -help-option打印指定启动参数的信息。 -help-debug-tags打印所有被-debug tags打开的列表。 -help-disk-images打印正在使用的磁盘镜像信息。 -help-environment打印模拟器环境变量信息。 -help-keys打印当前的键盘映射。 -help-keyset-file打印一个自定义的键盘映射文件的定义。 Disk Images -cache filepath使用filepath 指定网络缓存分区镜像。 自定义您可以指定一个当前工作目录的相对路径。如果没有指定缓存文件模拟器会指定一个零时文件作为缓存文件。更多信息请参考-help-disk-images. -data filepath使用filepath作为用户数据磁盘镜像。 自定义您可以指定一个当前工作目录的相对路径。如果-data没有被使用模拟器会在datadir指定的目录下寻找名叫userdata-qemu.img的镜像文件。默认情况下模拟器会寻找~/.android (on Linux/Mac)或者C:/Documents and Settings/user/Local Settings/Application Data/Android (on Windows)。 如果您使用了-data filepath但是文件并不存在模拟器将创建同名文件。 更多信息请参见运行多个模拟器实例和-help-disk-images。 -image filepath使用filepath作为系统镜像。 自定义您可以指定一个当前工作目录的相对路径。默认为system/system.img。-initdata filepath 重写用户数据镜像时(使用 -wipe-data)复制此文件内容到新用户数据文件镜像中。默认方式下模拟器拷贝system/userdata.img。 自定义您可以指定一个当前工作目录的相对路径。参见-wipe-data。 更多信息请参见-help-disk-images。 -kernel filepath使用filepath作为模拟器内核。自定义您可以指定一个当前工作目录的相对路径。 -nocache启动模拟器时无缓存分区。参见-cache file。 -ramdisk filepath使用filepath作为虚拟内存镜像。默认为system/ramdisk.img. 自定义您可以指定一个当前工作目录的相对路径。更多信息请参见-help-disk-images。 -sdcard filepath使用file作为SD卡镜像。默认为system/sdcard.img. 自定义您可以指定一个当前工作目录的相对路径。更多信息请参见-help-disk-images。 -system dirpath在指定的dir下搜索系统、虚拟内存和用户数据镜像文件。dir为当前路径的相对目录。 -wipe-data重至用户数据镜像文件。(that is, the file specified by -datadir and -data, or the default file). 模拟器删除所有用户数据然后复制右-inidata参数指定的数据到镜像文件在启动之前。参见-initdata. 更多信息请参见-help-disk-images。 Debug -debug tags开启/关闭指定tag的调试信息。 tags是一个被空格/逗号/纵列所分割的调试组建名称列表。更多信息参见-help-debug-tags。 -debug-tag开启/关闭指定tag的调试信息。使用-help-debug-tags获得您可以指定为tag的调试组件列表。 -debug-no-tag关闭指定tag的调试信息。 -logcat logtags打开指定tag的日志输出。如果环境变量ANDROID_LOG_TAGS被指定且不为空她的值将成为日志输出的默认值。 -shell创建一个拥有root权限的命令行窗口。即使模拟器的UI界面无法使用了您依然可以使用命令行窗口。按Ctr-c键中断模拟器运行。 -shell-serial device打开具有root权限的脚本窗口。device必须是一个QEMU类型的设备。参见serial -dev在http://www.bellard.org/qemu/qemu-doc.html#SEC10上关于设备类型的列表信息。这儿有一些例子 · -shell-serial stdio is identical to -shell · -shell-serial tcp::4444,server,nowait 让您的shell可以通过4444端口通讯。 · -shell-serial fdpair:3:6 让模拟器可以使用3 (in)和6(out)磁碟机。 · -shell-serial fdpair:0:1 uses the normal stdin and stdout fds, except that QEMU wont tty-cook the data. -show-kernel name显示内核信息。 -trace nameEnable code profiling (press F9 to start), written to a specified file. -verbose开启冗长输出。Equivalent to -debug-init. 您可以定义ANDROID_VERBOSE环境变量作为冗长输出参数。定义你想用到的参数用逗号分割。这样可以省略像-debug-tags这样的参数。下面是一个设置ANDROID_VERBOSE的例子它带有-debug-init和 -debug-modem 参数 ANDROID_VERBOSEinit,modem更多信息参见-help-debug-tags. Media-audio backend使用指定的音频后端。 -audio-in backend使用指定的音频输入后端。 -audio-out backend使用指定的音频输出后端。 -noaudio在当前虚拟机实例中关闭音频支持。 -radio device重新定向收音机接口到本地的字节设备。 -useaudio打开模拟器实例的音频支持。默认为打开。 Network -dns-server servers使用指定的DNS服务器。servers必须是以逗号分割多于4个的服务器名或IP地址。 -http-proxy proxy配置TCP连接使用HTTP/HTTPS代理。 proxy必须符合以下格式http://server:port http://username:passwordserver:port 前缀http://可以被忽略。如果-http-proxy proxy未被指定模拟器将寻找http_proxy环境变量并且自动寻找所有符号格式要求的proxy 值。 -netdelay delay设置网络延迟默认值为none。参见Network Delay Emulation中关于delay的值。 -netfast快捷的 -netspeed full -netdelay none -netspeed speed指定模拟器网络速度为speed.默认值为full。参见表格Network Speed Emulation 中的speed值。 -port port指定模拟器网络端口为port.控制台端口号必须介于5554和5584之间并且port1必须留作ADB使用。 -report-console socket启动前向第三方同志此模拟器实例的网络端口。socket 必须是以下几种格式 tcp:port[,server][,maxseconds] unix:port[,server][,maxseconds] 更多信息参见 -help-report-consoleSystem -cpu-delay delay降低模拟器CPU的速度到delay。delay支持0到100的整数。注意delay与具体的时钟或其他的绝对频率无关。它只表现为一种抽象的相对于当前模拟器运行状况的速度调节。 -gps device重定向NMEA GPS到字节设备。 使用此参数通知模拟器模拟一个NMEA-compatible GPS连接到一个扩展的设备或socket端口。device格式必须符合QEMU-specific所指定的设备格式。更多信息参见serial -dev 和 http://www.bellard.org/qemu/qemu-doc.html#SEC10. -nojni在Dalvik运行时关闭JNI检查 -qemu传递参数到qemu。 -qemu -h关闭qemu帮助。 -radio device重定向录音机模块到制定的字符设备。device格式必须符合QEMU规定的序列设备。详情参见http://www.bellard.org/qemu/qemu-doc.html#SEC10. -timezone timezone设定模拟器时区为timezone替换为系统时区。timezone必须按照时区格式指定。比如America/Los_AngelesEurope/Paris -version显示模拟器版本号。 UI -dpi-device dpi修改模拟器的分辨率适配物理设备。默认值为165。参见-scale. -no-boot-anim关闭模拟器启动时的动画。禁用启动动画可以加快启动速度。 -no-window关闭模拟器的绘制窗口。 -scale scale调整模拟器窗口。scale 是介于0.1到3的数字它是调整屏幕的比例因子。您也可以指定一个DPI值在添加dpi前缀的情况下。Auto参数告诉模拟器选择自己最合适的尺寸。 -raw-keys关闭Unicode键盘reverse-mapping. -noskin不使用任何模拟器皮肤。 -keyset file用指定的键盘设置文件代替默认。指定宿主键盘和模拟器之间的键盘映射文件。更多信息参见-help-keyset。 -onion image用图片覆盖屏幕。不支持JPEG只支持PNG -onion-alpha percent指定onion皮肤透明值百分比 默认为50. -onion-rotation position指定onion皮肤旋转。position 必须是 0, 1, 2, 3中的一个。 -skin skinID启动模拟器搭配指定皮肤。 -skindir dir在指定目录dir下搜索皮肤 转载于:https://www.cnblogs.com/wi100sh/p/4338209.html