前面介绍了Windows环境下,基于Android SDK(2.3) 和 Eclipse(helios)的Android开发环境的搭建,并创建了第一个应用程序Hello Android World,之后用Honeycomb Preview模拟器深入解析了Eclipse中Android工程的结构以及调试。

具体请参考小生的blog:http://blog.sina.com.cn/deaboway 或者http://blog.csdn.net/deaboway 。

一、 环境变量

当前最新版本的Android SDK中,adb已经被从./tools/目录移动到./platform-tools/,因此为了方便,在windows环境中,需要把以上两个目录添加到PATH中,如下:

二、 常用命令

这样,我们就可以直接在cmd中直接运行adb/android/emulator等命令,简单介绍如下:

1. 命令行输入adb 相关命令:

adb命令具体的参数可以通过在命令行输入adb后回车,或者adb help后回车的方式查看,这里简单介绍几个比较常用的命令。

adb devices

列出所有装载的设置。

adb shell

进入设备根目录/,取得对设备的控制权,如输入ls命令等。

adb install

将指定的apk文件安装到设备上。如果有多个设备同时存在,则需要指定目标设备,如:adb install -s emulator-5554 D:/name.apk。

adb uninstall [-k] <软件名>

卸载指定软件,如果加 -k 参数,为卸载软件但是保留配置和缓存文件。

adb push <本地路径> <远程路径>

把本机电脑上的文件或者文件夹复制到设备(手机)。比如,我们可以用如下命令,将sdcard外的东西存放进去:adb push gavin.txt /sdcard/gavin.txt。

adb pull <远程路径> <本地路径>

把设备(手机)上的文件或者文件夹复制到本机电脑。

2. 命令行输入Android 相关命令:

android命令具体的参数可以通过在命令行输入android后回车,或者android -help后回车的方式查看,这里简单介绍几个比较常用的命令。

3. 命令行输入emulator 相关命令:

emulator命令具体的参数可以通过在命令行输入emulator -help后回车的方式查看,这里简单介绍几个比较常用的命令。

emulator -avd

启动指定模拟器。

emulator -avd -sdcard

启动一个带有SD卡的指定模拟器。

emulator -skin

启动一个使用指定skin的模拟器。

emulator -netdelay

模拟多种网络延迟等级,因此你可以在更接近真实情况的环境下测试你的应用程序。可以在模拟器启动时设置延迟等级或范围,也可以在模拟器运行期间通过控制台动态修改延迟。(关于控制台的操作,后面会介绍)

emulator -netspeed

模拟多种网络传输速度。可以在模拟器启动时指定传输速度或范围,也可以在模拟器启动后通过控制台动态修改传输速度。

4. mksdcard [-l label]

创建sdcard,如:mksdcard 256M C:/gavin.img

5. 模拟器控制台

每一个运行中的模拟器实例都包括一个控制台,我们可以利用控制台动态的查询和控制模拟设备的环境。如:我们可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话事件。想要进入控制台输入命令,需要使用telnet连接到控制台的端口号:

telnet localhost

其中,port是emulator的port号,如果第一个是5554端口,下一个实例使用的端口号会加2:5556、5558等。最多可以有16个模拟器实例同时运行控制台。

获取模拟器的方法有:

l 在启动模拟器时使用-verbose选项来检测该模拟器实例使用的端口号;

l 在调试输出中找“emulator console running on port number”这一行;

l 在命令行中使用adb devices来查看模拟器实例和他们的端口列表。

连接上控制台之后,可以输入help [command]来查看命令列表和指定命令的教程。要离开控制台会话,使用quit 或 exit 命令。下面,简单介绍几个控制台下常用命令。

redir redir

在模拟器运行期间添加和删除端口重定向。连接上控制台后,可以通过它来管理端口重定向:列出、增加、删除。

network status

检测网络状况和当前延迟、加速特性。

network delay gprs

同emulator -netdelay

network speed

同emulator -netspeed

gsm

在模拟器上模拟电话功能。可以模拟打入电话和建 /终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。

三、 Android 模拟器快捷键

这里特别介绍下最新版本的更适合平板电脑使用、专门为Android平板电脑进行优化的系统版本Honeycomb Preview上,Ctrl-F11的使用。

在Honeycomb Preview上,默认是如下图所示显示的:

如果想要换成在电脑屏幕上正常显示,则需要:在“Menu”-“Settings”-“Screen”-“Auto-rotate screen”,取消选中即可。如果此时在Honeycomb Preview横向的时候,屏幕仍然翻转,则连续按两次Ctrl-F11——先切成竖屏,再切回横屏——这时,就会发现屏幕变成如下显示:

另外,可以在“Menu”-“Settings”-“Language&input”-“Select language”中选择“中文(简体)”,则可以使用中文界面,如下:

更多Setting请自行摸索,有不清楚的在小生博客留言吧。

四、 模拟器的限制

模拟器基本上可以模拟绝大多数Android设备的功能,但是,迄今为止,模拟器仍存在如下限制:

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

五、 运行多个模拟器实例

如果必要的话,可以同时运行多个模拟器实例。每个模拟器实例使用独立的用户数据内存和不同的 控制台端口。这样可以独立的管理每一个模拟器实例。但是,每个实例存储跨会话的持久用户数据的能力—用户设置和安装的应用程序—会受限制。具体如下:

l 只有第一个模拟器实例能根据会话保存用户数据。默认情况下它把用户数据保存在开发设备的~/.android/userdata.img (Linux 和 Mac) 或 C:/Documents and Settings//Local Settings/Android/userdata.img (Windows)文件里。在启动模拟器时使用-data选项来控制用户数据的存储和加载位置。

l 在第一个实例后启动的模拟器实例(并行的)在会话过程中也保存用户数据;但它们不会为下一个会话保存它。这些实例将数据保存在临时文件中,当实例退出时,相应的临时文件会被删除。

六、 模拟器上网问题

1、将网络连接代理设置写入配置数据库

① 通过命令行或者通过双击emulatoer可执行文件,打开模拟器

② 在命令行执行adb shell打开android的控制台

③ 执行 ls -l /data/data/com.android.providers.settings/databases/settings.db ,查看系统设置数据库文件是否存在

④ 如果数据库文件存在,执行 sqlite3 /data/data/com.android.providers.settings/databases/settings.db,以settings.db为当前scheme启动SQLITE3

⑤ 执行 INSERT INTO system VALUES(99,’http_proxy’, ‘192.168.0.245:8080′); 语句插入数据,其中192.168.0.245是我们要使用的代理服务器IP,8080是端口,请根据具体情况替换

⑥ 执行 SELECT * FROM system; 来查看刚才插入的数据

⑦ 重启模拟器,以使代理服务器设置生效

⑧ 可以使用 DELETE FROM system WHERE _id=99; 语句来删除代理设置,或者使用 UPDATE system SET value = '192.168.0.245:8070' WHERE _id=99; 来修改代理服务器设置

2、可能是DNS的问题

① 用系统的命令进入Android开发包的tools目录

cd E:/android-sdk-windows/tools

② 使用adb的shell,确认系统的各项属性

adb shell

getprop

getprop会列出系统当前的各项属性

③ 得到模拟器的DNS地址

在结果里可以看到:

[net.dns1]: [10.0.2.3]

[net.dns2]: [10.0.2.4]

④ 把dns改成我们自己的DNS

setprop net.dns1 192.168.1.1

注:一般TP-LINK及D-LINK的DNS都是192.168.1.1,如果不是请使用ipcnofig /all命令确认。

3、直接带参数启动模拟器

emulator @default -http-proxy 10.16.xx.xx:8080

其中default是模拟器的名称

4、在模拟器中设置

启动模拟器,然后进入 Settings->Wireless & networks->Mobile networks->Access Point Names

然后打开出现在列表中的access point;

然后下面这样设置:

- Proxy : your proxy address

- Port : your proxy port

- Username : your username if needed, or

- Password : your password if needed, or

更多相关文章,请访问:

http://blog.sina.com.cn/deaboway

http://blog.csdn.net/deaboway

以上两个blog同步更新。

Android模拟器简介—更新到最新的3.0 Honeycomb相关推荐

  1. Android Studio如何更新至最新版本4.2.2

    下载android studio最新版本4.2.2安装                            下载链接地址 接下来如下图,点击"Download Android Studio ...

  2. android+模拟器+ram,Android模拟器RAM修改方法 - 尤其是3.0

    我们以Windows平台的SDK为例,这里Android开发网的模拟器配置路径为 C:/Documents and Settings/android/.android/avd/android3.avd ...

  3. android 模拟器 2.0,Android Studio 2.0 之 新的模拟器

    上个星期,Android Studio 2.0 的稳定版终于发布了,于是我马上兴冲冲的升级了. Android Studio 2.0 最突出的主新特性有两个: Instant Run -- 即时运行, ...

  4. Mac下面的SecureCRT(附破解方案) 更新到最新的7.2的破解方案

    继续更新到7.2的破解.只是升级了下secureCRT到7.2,方法还是不变 相信很多人升级到了7.2的SecureCRT之后原来的破解方案失效了,一直也有人问新的破解方案,发现了,不敢独享 放上cr ...

  5. php 7.0 nts,PHP最新版本7.0.1-nts-Win32-VC14-x86

    [实例简介] PHP最新版本7.0.1-nts-Win32-VC14-x86 VC14 x86 Non Thread Safe (2015-Dec-16 23:44:11) 官方版本 [实例截图] [ ...

  6. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18)

    1.android开发新浪面试题[开发者必看哦] 下载地址 http://www.eoeandroid.com/thread-177885-1-1.html 2.华为关于android笔试题案例解析 ...

  7. android 最新sdk版本,详解如何在Android studio中更新sdk版本和build-tools版本

    一.首先看下Android开发用到的sdk目录: build-tools 保存着一些Android平台相关通用工具,比如adb.和aapt.aidl.dx等文件. aapt即Android Asset ...

  8. Hbuilder android 在线更新功能 后端获取最新版本号和增量更新wgt包 (稀缺资源) 2018全网仅有

    写这个博文的意义在于,做了一个使用纯h5网页的东西,然后想用hbuilder在外面包一层,这样就能android和ios都能同时使用,hbuilder打包发布的工具,自认为还是做得比较完善的.后面成功 ...

  9. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦] 下载地址 http://www.eoean ...

最新文章

  1. QListWidget 小练习
  2. FPGA图像处理的开发流程
  3. 不同的编译器:GCC G++ C C++的区别
  4. Select count(*)和Count(1)的区别和执行效率比较
  5. 安卓接受后台数据转换解析出错_安卓手机内存越大,速度就会越快?
  6. 18年高考云南628分想学计算机,2018山东高考投档线公布!山大文624理628…快查查你学校多少分进档...
  7. docker安装mysql8_Centos7-Docker-安装Mysql8
  8. pclint 与vs2010结合识别预处理器定义
  9. mysql canal 安装测试_canal安装配置与mysql操作监听,我已经帮你踩过了所有的坑...
  10. 运维工程师必备技能:网络排错思路讲解
  11. 金格pdf打开服务器文件,金格插件解决方法.pdf
  12. 网狐大厅介绍页js脚本错误
  13. 计算机io设备是cpu控制的吗,操作系统--IO设备
  14. SIM900A更改波特率
  15. OPC DA 服务端搭建 (附Java 客户端代码)
  16. div+css实现盖章
  17. CSS3的:nth选择器
  18. 我的奇思妙想机器人消防员_我是小小消防员~来啊~斗图啊~看一场奇思妙想SHOW!...
  19. C++中inet_pton、inet_ntop函数
  20. vmware_虚拟机文件组成

热门文章

  1. [由零开始]Tair 介绍和使用
  2. CSS中的伪类和伪元素(详细)
  3. 小黑记事本怎样设置html,小黑记事本怎样使用便签_设置便签的图文教程
  4. 数据库视图的使用和原理
  5. php调用百度地图定位,php用百度地图API进行IP定位和GPS定位
  6. 泛微 E-Office文件上传漏洞复现(CVE-2023-2523、CVE-2023-2648)
  7. 展频(SSC)相关知识
  8. gitlab云盘定时自动备份,gitlab服务器迁移、还原恢复
  9. Moore and Mealy
  10. 《毛毛虫团队》第五次作业:团队项目需求改进与系统设计