1. 启动和关闭ADB服务(adb start-server和adb kill-server)
经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭adb服务,可以使用下面的命令。
adb kill-server
在关闭adb服务后,要使用如下的命令启动adb服务。
adb start-server
2 查询当前模拟器/设备的实例(adb devices)
有时需要启动多个模拟器实例,或启动模拟器的同时通过USB数据线连接了真机。在这种情况下就需要使用如下的命令查询当前有多少模拟器或真机在线。
adb devices
执行上面的命令后,会输出如图1所示的信息。
图1
其中第1列的信息(emulator-5554、HT9BYL904399)表示模拟器或真机的标识。emulator-5554表示模拟器,其中5554表示adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。HT9BYL904399表示通过USB数据线连接的真机。如果在运行Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有被连接到adb上,或实例没有响应。
<!--[endif]-->3. 安装、卸载和运行程序(adb install、adb uninstall和am)
<!--[endif]--> 图 3
在Eclipse中运行Android程序必须得有Android源码工程。那如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件)该如何安装和运行呢?答案就是adb命令。假设我们要安装一个ebook.apk文件,可以使用如下的命令。
adb install ebook.apk
假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下的命令卸载这个应用程序。
adb uninstall net.blogjava.mobile.ebook
关于package的概念在以后的学习中会逐渐体会到。现在只要知道package是Android应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。
adb install -r ebook.apk
在卸载应用程序时可以加上-k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示。
adb uninstall -k net.blogjava.mobile.ebook
如果机器上有多个模拟器或真机实例,需要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。
在emulator-5554模拟器上安装ebook.apk
adb -s emulator-5554 install ebook.apk
在真机上安装ebook.apk
adb -s HT9BYL904399 install ebook.apk
在emulator-5554模拟器上重新安装ebook.apk
adb -s emulator-5554 install -r ebook.apk
在真机上重新安装ebook.apk
adb -s HT9BYL904399 install -r ebook.apk
在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录)
adb -s emulator-5554 uninstall net.blogjava.mobile.ebook
在真机上卸载ebook.apk(保留数据和缓冲目录)
adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook
如果在模拟器和真机上成功安装ebook.apk,将会分别输出如图2和图3所示的信息。
图2
如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。
在emulator-5554模拟器上运行ebook.apk
adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
在真机上运行ebook.apk
adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
其中Main是ebook.apk的主Activity。相当于Windows应用程序的主窗体或Web应用程序的主页面。am是shell命令。关于shell命令将在后成的部分详细介绍。
分享到:
相关推荐
Android_SDK中常用命令行工具
Android SDK中的常用命令行工具 ADB
如果您不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android Studio 中。Android 命令行工具适用于macOS系统。
Android 命令行工具(commandlinetools-win-8092744_latest.zip)适用于Windows系统。 如果不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android ...
Android 命令行工具(commandlinetools-linux-8092744_latest.zip)适用于Linux系统。 如果不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android ...
If you do not need Android Studio, you can ...如果不需要Android Studio,可以下载下面的基本Android命令行工具。您可以使用附带的sdkmanager下载其他SDK包。 这些工具包含在Android Studio中。 只适于Linux系统。
介绍了Android的相关内容,其中包括 Android的基本概念、搭建Android开发环境、Android SDK中常用命令行工具的使用方法、在PC上安装Android,并测试程序、Android的学习资源等,还会给出一个简单的Android程序,使...
这是Android开发所需的sdk,下载并解压后,将解压出的整个文件夹复制或者移动到your sdk 路径/platforms文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择Options(选项)菜单项打开 Android SDK Manager ...
Android SDK (SDK Platforms)-android-25.zip
Android SDK (SDK Platforms)-android-28.zip
Android SDK (SDK Platforms)-android-30.zip
Android SDK (SDK Platforms)-android-31.zip
Android SDK (SDK Platforms)-android-32.zip
Android 命令行工具(commandlinetools-mac-8092744_latest.zip)适用于macOS系统。 如果不需要 Android Studio,可以下载 Android 命令行工具。可以使用包含sdkmanager的下载其他 SDK 包。该工具包含在 Android ...
Android SDK (SDK Platforms)-android-34.zip
If you do not need Android Studio, you can ...如果不需要Android Studio,可以下载下面的基本Android命令行工具。您可以使用附带的sdkmanager下载其他SDK包。 这些工具包含在Android Studio中。 只适于Mac系统
Android SDK (SDK Platforms)-android-29.zip
Android SDK (SDK Platforms)-android-24.zip
Android SDK (SDK Platforms)-android-27.zip
Android SDK (SDK Platforms)-android-26.zip