1. 启动安卓手机app
发送如下命令:
adb shell am start -n 包名/Activity名 (如下列:com.tencent.android.qqdownloader/com.tencent.android.ui.SplashActivity)
包名与Activity名,可以通过如下命令获取到:
aapt dump badging sample.apk
一般返回如下:
package: name='com.tencent.android.qqdownloader'
.......
launchable-activity: name='com.tencent.android.ui.SplashActivity'
将package: name与launchable-activity: name组合起来,中间用‘/.’区别,即是启动的参数
返回信息:
adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n breakan.test/breakan.test.TestActivity
1.失败
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] cmp=com.example.test/.MainActivi3ty }
Error type 3
Error: Activity class {com.example2.test/com.example.test.MainActivity} does not
exist.
2.已经打开
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.
AUNCHER] cmp=com.example.test/.MainActivity }
Warning: Activity not started, its current task has been brought to the front
3.成功
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] cmp=com.example.test/.MainActivity }
2. 安装app
adb.exe install -r sample.apk(-r指重新安装)
注:如果系统里有一个于这个包同名的包,安装会是失败,并提示安装的这个包已经存在,
要想通过命令安装,需要先将系统里的包删掉后在安装,不过可以指定参数-r避免这个错误.
失败信息:
4046 KB/s (248611 bytes in 0.060s)
pkg: /data/local/tmp/sample.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS](成功的话是Success)
删除系统里的包的方法:adb remount
让系统的system目录变为读写然后adb shell 进入系统,进入到system/app/目录下将其 rm SpareParts.apk 然后退出 在用命令按转即可.
PS:
一般的,Android 应用程序有两种安装方法:
a. 将应用程序的apk文件push到手机中,用如下命令:adb push xxxx.apk /system/app.
b. 用adb install xxxx.apk进行安装
c. 二者的比较以及注意事项:
c.1) 用第一种方式的弊端:
a. 会将原来系统中的对应的apk覆盖掉,所以,最好先备份出来一份,用如下命令:
adb pull /system/app/xxxx.apk /home/
b. 有时候,会出现如下形式的错误信息:
failed to copy '/home/SoundRecorder.apk' to '/system/app/SoundRecorder.apk': Read-only file system
很明显,/system/app目录是只读的,不能将文件push到这个目录下。
解决方法,用直接安装的方式进行安装,如下:
adb install -r /home/SoundRecorder.apk //注: -r 表示强制安装
这样,会将应用程序安装到 /data/local/tmp/ 目录下。
c.2) 用第二种方式的话,设备中不回保存apk文件,如果以后删除了这个应用,就要重新找到对应的apk,才能安装。
3.卸载app
通过install命令安装的apk包会放在/data/app目录下,而且安装包名会改变.
adb uninstall SpareParts.apk 会提示失败.
原因在于安装后的包名已将改变,变为AndroidMainifest.xml文件中<manifest>节点下,package元素所指定的名字.
正确方法是: adb uninstall 包名
参考地址:http://www.cnblogs.com/marklin/p/adb%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7.html
返回信息:
(Failure/Success)