`
deaboway
  • 浏览: 53795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Android模拟器简介—更新到最新的3.0 Honeycomb

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

具体请参考小生的blog:点我头像哦,呵呵。

一、 环境变量

当前最新版本的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 模拟器快捷键

temp

这里特别介绍下最新版本的更适合平板电脑使用、专门为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
- Password : your password if needed
  • 大小: 63.9 KB
  • 大小: 53.3 KB
  • 大小: 62.2 KB
  • 大小: 67.5 KB
  • 大小: 92.5 KB
  • 大小: 31.7 KB
  • 大小: 33.2 KB
  • 大小: 25 KB
  • 大小: 47.9 KB
分享到:
评论
6 楼 deaboway 2011-04-11  
哈哈,看来大家都深受其害啊。。。
5 楼 ricks_wu 2011-04-11  
慢得人心惶惶,老是以为程序挂了
4 楼 javazeke 2011-04-11  
模拟器,巨慢无比....
3 楼 skzr.org 2011-04-11  
与机器无关吧.特别慢
2 楼 deaboway 2011-04-08  
renpeng301 写道
3.0的模拟器 启动慢不说。问题是操作起来反应更慢,而且经常无响应啊,难道是我本本太差??

我的也有点慢。

所以,google现在闭源中。。。
1 楼 renpeng301 2011-04-08  
3.0的模拟器 启动慢不说。问题是操作起来反应更慢,而且经常无响应啊,难道是我本本太差??

相关推荐

    Android模拟器简介—更新到最新的3.0Honeycomb[参照].pdf

    Android模拟器简介—更新到最新的3.0Honeycomb[参照].pdf

    Android 3.0(Honeycomb) 中,提供了对拖放的直接支持

    Android 3.0(Honeycomb) 中,提供了对拖放的直接支持

    众人评判google的Android3.0暂缓开源

    一向以大举开源旗帜的Google昨日做出了一项令人吃惊的决定:暂缓开放Android3.0(Honeycomb)“蜂巢”系统的源码访问。据BloombergBusinessweek报道,Google一名发言人表示,Google将“临时限制”对Android3.0...

    SurfaceView的双缓冲使用Android

    目前,版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购...

    嵌入式系统/ARM技术中的浅谈Android软硬件巧妙整合的开发技巧

    目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为“Android”的公司开发,谷歌在2005年收购...

    Android应用于探秘蓝牙隐藏API

    目前,版本为Android 2.4 Gingerbread和Android 3.0 HONeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购...

    浅谈Android软硬件巧妙整合的开发技巧

    2.4Gingerbread和Android3.0Honeycomb。Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为“Android”的公司开发,谷歌在2005年收购“Android.Inc”后,继续

    模拟技术中的SurfaceView的双缓冲使用Android

    目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年...

    模拟技术中的Android应用于探秘蓝牙隐藏API

    目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年...

    嵌入式系统/ARM技术中的Android之资源文件介绍

    目前,最新版本为Android2.4Gingerbread和Android3.0Honeycomb.  Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android...

    模拟技术中的Android应用于模拟信号示波器

    目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年...

    Android应用于模拟信号示波器

    目前,版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。  Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购...

    Android SDK开发包国内官网下载地址.pdf

    android-3.0_r02-linux.zip 99.6M API Level 11, HONEYCOMB 官网 android-2.3.3_r02-linux.zip 81.5M API Level 10, GINGERBREAD_MR1 官网 android-2.3.1_r02-linux.zip 75.0M API Level 9, GINGERBREAD 官网 ...

    Android-IP-Manager

    从API 11(Android 3.0 Honeycomb)起,已弃用了执行此操作的现有API,并停止了该工作。 回购结构 . +-- Lib: the library | +-- Example App: one application that uses the Lib, works on all the Android ...

    模拟技术中的简述Android重力感应实现方式

    目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb.Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。它采用了软件堆层(software stack,又名软件叠层)的架构,...

    简述Android重力感应实现方式

    目前,版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb.Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。它采用了软件堆层(software stack,又名软件叠层)的架构,主要...

    Android-ADK-Terminal-Emulator-for-Honeycomb:Android ADK 终端模拟器更改为支持软按钮(即蜂窝表)

    Android-ADK-Terminal-Emulator-for-Honeycomb Android ADK 终端模拟器更改为支持软菜单(即蜂窝平板电脑)

    .Android.Apps.Performance.Optimization.pd

    How to use to some OpenGL optimizations and to Renderscript, a new feature in Android 3.0 (Honeycomb) and expanded in Android 4.0 (Ice Cream Sandwich). After reading and using this book, you’ll be a...

    Beginning Android Tablet Programming

    If that includes you, you'll learn about how Honeycomb has changed the game for Android graphics programming, and get your first taste of 3D programming on an Android tablet. Lights, camera, action! ...

Global site tag (gtag.js) - Google Analytics