新书内容连载(3):Android SDK中常用命令行工具(一)

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书《Android/OPhone 开发完全讲义》 的内容连载。

本文为原创,如需转载,请注明作者和出处,谢谢!

本文为新书《Android/OPhone 开发完全讲义》 的内容连载。 《Android/OPhone开发完全讲义》一 书现已出版,敬请关注。

购 买:互动网 (china- pub)

《Android/OPhone 开发完全讲义》目录

源代码下载




上一篇:新 书内容连载(2):Android Activity的生命周期

1.  启动和关闭 ADB服 务( adb start-server adb kill-server

    经作者测试,模拟器在运行一段时间后, adb服务有可能(在 Windows进程中可找到这个服务,该服务用来为模拟器或通过 USB数据线 连接的真机服务)会出现异常。这时需要重新对 adb服务关闭和重启。当 然,重启 Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭 adb服务,可以使用下面的命令。

adb kill-server

在关闭 adb服务后,要使用如下的命令启动 adb服务。

adb start-server

查询当前模拟器 /设 备的实例( adb devices

有时需要启动多个模拟器实例,或启动模拟器的同时通过 USB数据线连接了真机。在这种情况下就需要使用如下的命令查询当前有多少模拟器或真机在线。

adb devices

执行上面的命令后,会输出如图 1所示的信息。

                         图1

    其中第 1列 的信息( emulator-5554 HT9BYL904399)表示模拟器或真机的标识。 emulator-5554表示模拟器,其中 5554表示 adb服务为该模拟器实例服务的端口号。每启动一个新的模 拟器实例,该端口号都不同。 HT9BYL904399表示通过 USB数据线连接的真机。如果在运行 Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行, ADT会直接将程序安装在手机上。 输出信息的第 2列都是 device, 表示当前设备都在线。如果该列的值是 offline,表示该实例没有被连 接到 adb上,或实例没有响应。

3.  安装、卸载和运行程序( adb install adb uninstall am

    在 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


                                  图 3

    如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。

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命令将在后成的部分 详细介绍。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
81 0
|
11天前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
36 1
|
20天前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
41 7
|
3月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
38 0
|
3月前
|
Java API 开发工具
Android项目架构设计问题之为SDK添加新的回调支持如何解决
Android项目架构设计问题之为SDK添加新的回调支持如何解决
24 0
|
2天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
4天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
6天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
4天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!