浏览 7000 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-08
最后修改:2011-04-08
具体请参考小生的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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-08
3.0的模拟器 启动慢不说。问题是操作起来反应更慢,而且经常无响应啊,难道是我本本太差??
|
|
返回顶楼 | |
发表时间:2011-04-08
renpeng301 写道 3.0的模拟器 启动慢不说。问题是操作起来反应更慢,而且经常无响应啊,难道是我本本太差?? 我的也有点慢。 所以,google现在闭源中。。。 |
|
返回顶楼 | |
发表时间:2011-04-11
与机器无关吧.特别慢
|
|
返回顶楼 | |
发表时间:2011-04-11
模拟器,巨慢无比....
|
|
返回顶楼 | |
发表时间:2011-04-11
慢得人心惶惶,老是以为程序挂了
|
|
返回顶楼 | |
发表时间:2011-04-11
哈哈,看来大家都深受其害啊。。。
|
|
返回顶楼 | |
发表时间:2011-07-14
还是2.x的模拟器好用。慢成这样的模拟器就没什么实际价值了
|
|
返回顶楼 | |