前面介绍了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.0Honeycomb版】 Android模拟器是开发者进行Android应用测试和调试的重要工具,特别是在没有实体设备的情况下。本文主要介绍如何在Windows环境下配置最新的Android SDK,特别是针对...
本文将聚焦于“android-3.0_r02.zip”这一特定版本,详细探讨其中蕴含的关键知识点,以及它如何支持Android 3.0(Honeycomb)的开发工作。 Android 3.0(API Level 11)是谷歌为平板电脑设计的第一个专门版本,带来...
模拟器支持Android 1.5到3.0版本,覆盖了早期Android系统的发展历程。这些版本代表了Android系统的重要里程碑,从最初的Cupcake到Honeycomb,涵盖了Android系统的多个关键更新和功能改进。例如,Cupcake引入了剪贴板...
不过,记得保持SDK更新,以获取最新的工具和API,这有助于你跟上Android的发展步伐。同时,学习Android的官方文档和社区资源,如51CTO的Android 3.0专题,能帮助你更深入地理解和掌握Android开发。
标签“AVD”强调了这个资源与Android模拟器的关联。AVD允许开发者创建和管理多个虚拟设备,每个设备可以有不同的配置,如屏幕尺寸、硬件特性、系统版本等。通过AVD,开发者可以测试不同Android版本和设备配置下的...
- Android 3.0(Honeycomb)系统是专为手持式平板电脑设计的,不支持手机终端。相反,Android 2.2(Froyo)系统是为手机终端设计的,可以运行在手机上。 - 在2011年11月,Google 推出了 Android 4.0(Ice Cream ...
- **API Level 11**:对应Android 3.0(Honeycomb),专为平板设计,界面风格进行了大幅改变。 - **API Level 12**:对应Android 3.1(Honeycomb MR1),主要针对平板电脑进行了一些改进。 - **API Level 13**:对应...
根据提供的文件信息,“精通Android编程(第三版)”是一本...通过深入学习这本书籍中的内容,开发者不仅可以掌握最新的Android开发技巧,还能了解到如何构建高质量的应用程序,以满足不断变化的市场需求和技术挑战。
自2008年以来,Android系统经历了多个版本迭代,从最初的1.0到后来的3.0 Honeycomb,每个新版本都带来了性能提升、新功能和改进。例如,Android 2.0引入了多账户支持,Android 3.0专为平板电脑设计,增加了多任务...
- **Honeycomb**:Android 3.0也被称为Honeycomb,它是专门为平板电脑设计的版本,引入了许多针对大屏幕设备优化的新功能。 - **多任务处理增强**:改进了多任务处理能力,使开发者能够更轻松地创建流畅的用户体验。...
5. **模拟器支持**:集成了Android模拟器,可以在多种设备配置上测试应用。 #### 四、ADT的使用场景 - **初学者**:对于刚刚接触Android开发的新手来说,ADT提供了简单易用的界面和详尽的帮助文档,是入门的理想...
在r05版本中,用户可以通过它获取不同Android版本的SDK Platform,例如Android 2.1 (API level 7) 到 Android 3.0 (API level 11)等。 2. **ADT (Android Developer Tools)**:集成在Eclipse中的ADT插件,为开发者...
5. **Android模拟器**:对于开发者来说,x86版本的Android镜像可以用于Android Studio的模拟器,提高模拟器的性能,特别是在非ARM硬件上运行时。 6. **系统组件和应用更新**:压缩包可能包含对Android系统组件的...
2. **Ice Cream Sandwich**:这个版本是Android系统的一个重要里程碑,它将Android 3.0(Honeycomb)为平板电脑设计的特性与Android 2.x系列进行了整合,使得手机和平板的应用体验更加一致。 3. **UI改进**:...
Android系统自3.0(Honeycomb)版本开始全面支持多点触控,允许用户通过两个或更多手指同时进行操作,如缩放、旋转、滑动等手势。系统通过监听和处理MotionEvent事件来实现这一功能。 二、多触摸屏测试程序的结构 ...
在Android SDK中,Android API级别是关键,addon-google_apis-google-11表示的是针对Android API Level 11(即Android 3.0 Honeycomb)的附加API,这个版本引入了专为平板电脑优化的特性,例如Action Bar和Fragment...
Android 3.0 (Honeycomb - API Level 11,仅限平板电脑) - **专为大屏幕设计**:针对平板电脑进行了界面优化,引入了全新的UI布局和控件。 - **行动栏(Action Bar)**:提供统一的导航和操作方式,简化了用户...