您的位置:首页 > 移动开发 > Android开发

android之adb命令操作

2016-03-08 17:07 686 查看
截图命令:

#调用android内核中的截图工具截取当前屏幕,并保存图片到/sdcard/screenshot.png

adb shell /system/bin/screencap -p /sdcard/screenshot.png

#将手机中的指定图片/sdcard/screenshot.png 保存到当前目录下

adb pull /sdcard/screenshot.png ./

#如果是局域网内的手机的话,可以通过如下方法进行截图

adb connect 192.168.1.106:5555
adb shell /system/bin/screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png E:\download


#将文件拷贝到手机中

adb push D:\file.txt /system/temp/

#将设备改为可读可写

adb remount

#关掉adb连接服务

adb
kill-server

#启动adb连接服务

adb
start-server

#查看当前挂接的android设备

adb
devices

#如果安装apk到rom中,提示
“exsit 。。。” 的提示信息,可以加上 - r 参数 ,可以替换原有的apk

adb install -r Android-gateway-nightly.apk

adb install-multiple [-lrtsdpg] <file...>
- push this package file to the device and install it
(-l: forward lock application)
(-r: replace existing application)
(-t: allow test packages)
(-s: install application on sdcard)
(-d: allow version code downgrade)
(-p: partial application install)
(-g: grant all runtime permissions)
adb uninstall [-k] <package> - remove this app package from the device
#清楚已经存在的com.cvte.health包

adb shell pm clean com.cvte.health

adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)


一下摘录自:http://blog.csdn.net/new_abc/article/details/7435508 感谢博主

应用安装涉及目录:

system/app ---------------系统自带的应用程序,获得adb root权限才能删除

data/app ---------------用户程序安装的目录。安装时把 apk文件复制到此目录

data/data ---------------存放应用程序的数据

data/dalvik-cache--------将apk中的dex文件安装到dalvik-cache目录下(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

安装过程:

复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。

卸载过程:

删除安装过程中在上述三个目录下创建的文件及目录

带着这些知识去看安装过程,可能会更容易理解引起。

当我们利用adb安装一个软件包时,到底流程是怎么样的呢,这里主要介绍一个安装包在目标机中的安装过程。

adb install 也是用的pm(可理解为Package Manager)命令去安装的,所以开始是在pm.java中。

我们看下流程:



1、调用pm程序开始安装

得用Pm安装时,一般是shell运行一个pm命令,并传送相应的参数,我们通过adb连接到机器,输入pm,会打出pm的一些参数

# pm

pm

usage: pm [list|path|install|uninstall]

pm list packages [-f] [-d] [-e] [-u] [FILTER]

pm list permission-groups

pm list permissions [-g] [-f] [-d] [-u] [GROUP]

pm list instrumentation [-f] [TARGET-PACKAGE]

pm list features

pm list libraries

pm path PACKAGE

pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-

pm uninstall [-k] PACKAGE

pm clear PACKAGE

pm enable PACKAGE_OR_COMPONENT

pm disable PACKAGE_OR_COMPONENT

pm setInstallLocation [0/auto] [1/internal] [2/external]

当我们安装一个软件包时,shell运行pm程序并传入pm install ***等参数,我们看下pm.java
public static void main(String[] args) {
new Pm().run(args);
}
这里运行pm的run方法

public void run(String[] args) {
if ("install".equals(op)) {
runInstall();
return;
}
}
云云,不看了 差不多就行了 想多看的话去原文博客。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: