“粽”有你需要的,请收下这波adb、aapt命令~~

点击

“搜狗测试”

可关注我们!

Adb常用操作命令】

1. 查看设备adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2.安装软件adb install

adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上

3. 卸载软件

adb uninstall <软件名>

adb uninstall -k <软件名>

如果加-k 参数,为卸载软件但是保留配置和缓存文件。

4. 进入设备或模拟器的shell

adb shell

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

adb shell[command]

如:adbshell dmesg会打印出内核的调试信息。

5. 发布端口

可以设置任意的端口 ,做为主机向模拟器或设备的请求端口。如:

adb forward tcp:5555 tcp:8000

6. 从电脑上发送文件到设备

adb push<本地路径> <远程路径>

push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

7. 从设备上下载文件到电脑

adb pull<远程路径> <本地路径>

pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

8.查看bug 告(系统日志)

adb bugreport bugreport.zip Android6.0以上)

adb bugreport> bugreport.txt Android6.0及以下)

注:bugreport命令,可以获取在从开机之后详细的dumpsys,dumpstatelogcat信息,是一份完整的日志记录,对分析用户行为,异常信息,系统状态有很大的参考作用。一般我们会把bugreport导出到电脑上分析。

9.获取设备的信息

1)获取手机系统信息(CPU,厂商名称等)

adb shell”cat /system/build.prop | grep “product””

2)获取手机系统版本

adb shellgetprop ro.build.version.release

3)获取手机系统api版本

adb shellgetprop ro.build.version.sdk

4)获取手机设备型

adb -dshell getprop ro.product.model

5)获取手机厂商名称

adb -dshell getprop ro.product.brand

6)获取手机的序列

adbget-serialno

adb shellgetprop ro.serialno

7)获取手机内存信息

adb shellcat /proc/meminfo

8)获取手机存储信息

adb shelldf

获取手机内部存储信息:

魅族手机:adb shell df/mnt/shell/emulated

其他:adb shell df /data

获取sdcard存储信息:adb shelldf /storage/sdcard

9)获取手机分辨率

adb shell”dumpsys window | grep mUnrestrictedScreen”

10)获取手机物理密度

adb shellwm density

ampm查看包名/获取应用activity/启动/停止应用程序】

1.通过adb shell的pm命令,查看包名(不需要root)

adb shell pm listpackage

#显示手机内所有所有apk对应的应用包名

注解:pm命令,可以通过pm命令得到系统类package相关的信息

2.通过adb shell,获取应用的activity(不需要root

adb shell dumpsysactivity

获取到最近运行的activity列表

上例中#4~#1分别为4家地图app运行的activity#4是最近一次运行的,处于栈顶;

注解:Activity

Android 是通过一种Activity 栈的方式来管理Activity的,一个Activity 的实例的状态决定它在栈中的位置。处于前台的Activity 总是在栈的顶端,当前台的Activity 因为异常或其它原因被销毁时,处于栈第二层的Activity将被激活,上浮到栈顶。当新的Activity启动入栈时,原Activity 会被压入到栈的第二层。一个Activity在栈中的位置变化反映了它在不同状态间的转换。

误区:

利用adbshell dumpsys activity 命令获取的应用的activity和启动应用的activity并不一定是同一个,所以在自动调起应用环节出现了问题。

3.通过adb shell命令来启动应用程序

adb shell am start-n 包名/Activity

注意:adbshell am start -n 包名/Activity类的类名命令中,包名和Activity类的类名一定要输入正确

4.通过adb shell命令来获取应用启动时间

使用am命令,从命令行启动程序,测试App启动时间(启动一个Activity

adb shell am start -W-n 包名/Activity

子命令说明

-W等待启动结束

-n指定Activity名称

示例

adbshell am start -W -n com.sogou.map.android.maps/com.sogou.map.android.maps.MainActivity

5.通过adb shell命令来停止应用程序

adb shell am force-stop 包名

aapt

aapt 是android assert packagingtool的缩写;

查看apk的一些信息

aapt d[ump] [–values] WHAT file.{apk} [asset [asset …]]

aapt d badging filepath/..apk:显示标签、图标和应用程序的相关描述。

aapt d permissions filepath/..apk:显示apk所具有的系统权限

aapt d badging filepath/..apk :显示apk的资源列表

aapt d configurations filepath/..apk:显示apk的配置信息

aapt dump bading filepath/..apk:查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息

【通过wifi连接android设备】

无法用usb直接连接,利用adb connect方法,通过wifi连接android设备通过wifi连接android设备。adb connect ip 成功后可以执行原来usb连接时的所有命令,如adb installadb logcat等。

adb connect IP 可以链接某个设备

注意:要链接的IP ,必须和自己的PC的 络在同一个局域 内,adb 不能跨局域 链接设备

例如:adb connect 10.129.49.143

如果显示连接成功,则可继续执行后面的操作;如果不成功,显示:connect拒绝

有可能是设备监听端口的问题,重新启用,可以连接上。

Dumpsys

android系统默认运行了很多系统服务,如监测电池信息的battery服务等,其支持很多子命令,每个命令用来显示单个系统服务的详细信息。

1.dumpsys meminfo 打印内存使用率情况

使用adbshell dumpsys meminfo [PackageName ],可以打印出指定包名的应用内存信息。使用该命令可以很直观的观察到Activity的泄漏问题,是平常分析比较常用的一种方式。

android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是native+dalvik不能超过最大限制。

VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)

RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)

PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)

USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

一般来说内存占用大小有如下规律:VSS>= RSS >= PSS >= USS

2.dumpsys activity 打印所有活动(activity)的信息

3.dumpsys wifi 打印无线 络连接信息

4.dumpsys battery 打印电池电量信息

5.dumpsys cpuinfo 显示CPU的使用情况

6.查看指定包的信息

Adb shell dumpsyspackage<packagename>

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年5月12日
下一篇 2018年5月12日

相关推荐