命令行中使用adb安装apk
转载:http://blog.sina.com.cn/s/blog_8324d8e80101b8dn.html
在你的android—IDE中找到D:\Softwave_Ghost\技术软件\IDE\adt_android_eclipse\adt-bundle-windows-x86-20130219\sdk\platform-tools 目录下有adb.exe cd到这个目录下 然后可以进行adb操作
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
如果在运行Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。
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
如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。
在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命令将在后成的部分
命令行中使用adb安装apk的更多相关文章
- 几种在shell命令行中过滤adb logcat输出的方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adblog ...
- 在命令行中通过adb shell am broadcast发送广播通知
通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_U ...
- 使用adb安装apk到手机
[ADB]Android debug bridge.Android手机实际是基于Linux系统的.通过USB线将android手机与电脑连起来,在电脑上dos命令行中敲adb shell命令,可以登录 ...
- 命令行从Android手机中导出已安装APK的方法调研
一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和 ...
- Windows命令行中pip install jieba,但没有安装到anaconda3中
系统混淆了python3环境下的pip和anaconda3环境下的pip. 找到Anaconda3的Scripts目录,我这里是C:\Users\Diane\Anaconda3\Scripts 将该目 ...
- Oracle安装后命令行中运行sqlplus / as sysdba出现错误ora-01031:insufficient privileges
Win10安装Oracle后命令行中运行sqlplus as sysdba出现错误ora-01031insufficient privileges的解决方法 情景描述 错误样例 错误分析 解决方法 情 ...
- 使用ADB安装apk安装包
1.手机通过USB线连接到电脑,并打开开发者选项和USB调试,允许本机进行调试. 2.打开cmd命令行输入:adb devices 查看当前连接的设备列表. 3.安装apk包命令: adb -s [d ...
- 命令行中mysql乱码问题
1.现象 在命令行中,执行sql语句如果包含中问题,提示“ Data too long for column '列名' at row 1” 或者在命令行中查询出的结果中,中文乱码 2.分析 ...
- 如何在Linux命令行中创建以及展示演示稿
导读 你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲 ...
随机推荐
- MFC学习20160718(GetModuleFileName&&GetAppDataPath)
1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ...
- leetcode—Valid Parentheses
1.问题描述 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if t ...
- 时间都去哪了?——安卓GTD工具
GTD是英文Getting Things Done的缩写,是一种行为管理的方法,也是David Allen写的一本书的书名. GTD的主要原则在于一个人需要通过记录的方式把头脑中的各种任务移出来.通过 ...
- NotePad++ delphi/Pascal函数过程列表插件
从cnpack上爬下来的 函数过程列表 点击下载
- Java 容器相关知识全面总结
Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAda ...
- 第三百零四天 how can I 坚持
我以为我遇到了,却是痴心妄想啊.哪有那么好的事.其实也无所谓,淡定,却又有点不淡定了. 洗澡睡觉吧,明天还要上班呢. 应该摆脱这种状态. 什么都不想,放空.
- Hibernate关联关系之——单向n-1
1 .单向 n-1 关联只需从n的一端可以访问1的一端 2.域模型: 从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存 ...
- Linux vmstat:报告虚拟内存统计的工具
众所周知,计算机必须有称之为RAM(随机访问内存)的存储器使得计算机工作.RAM指的是插在计算机主板上的物理存储.这里的RAM被用于加载像浏览器.文字处理器这类的程序,实际上,你使用的程序都运行在内存 ...
- Local host name unknown: java.net.UnknownHostException:
在Linux下安装完resin后,每次启动都出现如下错误: [11:06:45.617] {watchdog-} WatchdogProcess[Watchdog[],7] starting Resi ...
- ios游戏开发 Sprite Kit教程:初学者 1
注:本文译自Sprite Kit Tutorial for Beginners 目录 Sprite Kit的优点和缺点 Sprite Kit vs Cocos2D-iPhone vs Cocos2D- ...