Android adb命令 apk安装路径/连接设备/打开应用/杀死进程/打开系统应用/安装应用/截图/录屏 log PID/UID

获取 apk 对应的包名:
adb shell pm list package <要搜索的字符串>
例如:搜索包名中含有「tao」的:
adb shell pm list package tao
package:com.taobao.taobao
也可以结合 grep 搜索包名。
例如:

$ adb shell pm list package | grep -i z
...
package:ru.zdevs.zarchiver
...

获取 apk 的安装路径:
例如:

$ adb shell pm path ru.zdevs.zarchiver
package:/data/app/ru.zdevs.zarchiver-1/base.apk

可以进一步的导出 apk 文件:

adb pull /data/app/ru.zdevs.zarchiver-1/base.apk

注:在上市的手机中,/data/app目录不能读取,但可以读取 /data/app/<pkg_name> 目录,所以可以将 /data/app/ru.zdevs.zarchiver-1/base.apk 读取出来。

连接设备:adb connect ip地址 断开就是 disconnect
杀死某进程:adb shell am force-stop com...***
打开某应用的某Activity:adb shell am start com.../.MainActivity
打开系统设置:
adb shell am start com.android.settings/com.android.settings.Settings
查看应用进程信息:
adb shell ps 或者 adb shell ps | com.
..
安装应用:
adb install -r -t -d apk本地地址/**.apk 卸载就是 uninstall
查看是否有设备连接:
adb devices
无法删除系统应用:
先adb root && adb remount
adb 录屏以及导出命令:
录屏:adb shell screenrecord /sdcard/test.mp4
导出录屏:adb pull /sdcard/test.mp4
adb 截图以及导出命令:
截图:adb shell screencap -p /sdcard/screen.png
导出截图:adb pull /sdcard/screen.png
adb 杀死 apk 进程:
adb shell am force-stop 包名 例如 adb shell am force-stop com.kotlin.android
获取屏幕分辨率:
adb shell wm size
查看当前设备有哪些 Activity 还在运行:
adb shell dumpsys activity | findstr Run

当前设备运行的activity的任务栈和ActivityRecord信息:
adb shell “dumpsys activity activities | sed -En -e ‘/Running activities/,/Run #0/p’”

adb 抓取日志:
adb logcat -v time > 导出路径以及文件 例如: adb logcat -v time > D:\debug.log

android 线程id 进程id 进程的用户ID

Log.e(TAG, “pid=”+android.os.Process.myPid()+” tid=”+android.os.Process.myTid());
Log.e(TAG, “thread id= “+ Thread.currentThread().getId() + ” name=”+Thread.currentThread().getName());
Log.e(TAG, “main thread id= “+ (Looper.getMainLooper()).getThread().getId() + ” name=”+(Looper.getMainLooper()).getThread().getName());

Log.e(TAG, “getTaskId() = ” + getTaskId()); //activity任务栈的id
Log.e(TAG, “getApplicationInfo().uid = ” + getApplicationInfo().uid); //uid
Log.e(TAG, “getApplicationInfo().processName = ” + getApplicationInfo().processName); //process name

android.os.Process.myPid():获取该进程的ID。
android.os.Process.myTid():获取该线程的ID。
android.os.Process.myUid():获取该进程的用户ID。

参考文章:
https://blog.csdn.net/u013553529/article/details/105634129


版权声明:本文为u013750244原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。