赞
踩
调试的时候,需要启动应用或者发送广播,每个操作都写代码执行费时费力,用命令行操作的话就方便多了。
记录下常用的一些操作。
串口环境直接敲命令,adb 环境需要在命令前加上 adb shell
。
am help
可查看完整内容。
根据目标 Activity 定义的 action 启动,
am start -a activity_action
根据完整的包名类名启动,
am start -n 包名/类名
打开某个应用组件并携带参数
am start -n com.test.tv/.MainActivity -a android.intent.action.VIEW -c android.intent.category.LAUNCHER --es change_source HDMI2 --ei input_type -1
打开 com.test.tv/.MainActivity 组件,
action 是 android.intent.action.VIEW ,
category 是 android.intent.category.LAUNCHER ,
携带 string 类型的参数 , key 是 change_source ,value 是 HDMI2 ,
携带 int 类型的参数 , key 是 input_type ,value 是 -1
根据目标service定义的 action 启动,
am startservice -a service_action
根据完整的包名类名启动,
am startservice -n 包名/类名
发送广播,broadcast_action 就是代码里广播的 action ,
am broadcast -a broadcast_action
发送广播,并携带数据
adb shell am broadcast -a broadcast_action --ei state 1
adb shell am broadcast -a broadcast_action --ei state 0
强制停止某个应用,packageName 是应用的包名
am force-stop packageName
列出所有应用,
pm list package
列出所有应用,并显示路径,显示是谁安装的
pm list package -f -i
列出系统应用,
pm list package -s
列出第三方应用,
pm list package -3
安装指定路径的应用,
pm install /mnt/sdcard/my.apk
覆盖安装已安装的应用,上面的命令加个 -r 参数
pm install -r /mnt/sdcard/my.apk
pm uninstall pkgname
清理应用缓存,和设置里清理应用数据的功能一样。
pm clear pkgname
参考 Android 特权应用 privapp-permissions 权限解读
pm get-privapp-permissions TARGET-PACKAGE
模拟发送某个按键,
input keyevent KEYCODE_BACK
input keyevent KEYCODE_HOME
模拟发送多个按键,是依次发送的,
input keyevent KEYCODE_8 KEYCODE_2 KEYCODE_0 KEYCODE_2
需要输入信息的时候执行,
input text 123456789
模拟点击 (100, 200)坐标
input tap 100 200
tip :坐标系原点 (0, 0)是屏幕左上角,往右是 X 轴正方向,往下是 Y 轴正方向。
模拟从(100,100)滑动到(300,300)
input swipe 100 100 300 300
其实是模拟滑动的引申,滑动起点和终点是一样的,
模拟从(100,100)滑动到(100,100),用时 3000 毫秒
input swipe 100 100 100 100 3000
dumpsys 命令很强大,可以看系统的很多信息。
可以查看应用栈,会列出应用栈和栈内信息
dumpsys activity activities
查看当前栈顶应用,也就是前台应用。从上一条命令衍生的,
dumpsys activity activities | grep mResumedActivity
通过 window 判断,
dumpsys window windows | grep mFocusedApp
在安卓 13 上 ,前两个失效,可以用这个,
dumpsys activity activities | grep topResumedActivity
查看某个应用的信息,可以看到应用的包名、类名、action 、版本号、支持的SDK版本、安装路径等信息
dumpsys package packageName
dumpsys battery
参考 Android 在线查看、修改 Settings 等值的方法
列出 android.provider.Settings.Global 下的值
settings list global
修改 Settings.Global 下 adb_enabled 的值,
效果同 android.provider.Settings.Global.putInt(getContentResolver(), Settings.Global.ADB_ENABLED, 0);
settings put global adb_enabled 0
date
cat /proc/version
cat sys/class/net/eth0/address
cat sys/class/net/wlan0/address
未完待续~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。