Android Adb命令(1) - 查看所有的Apk包 / 安装install 和卸载uninstall

一、查找
1、打印本机所有软件包 adb shell pm list packages
2、输出和安装包相关联的文件(包括apk的路径) adb shell pm list packages -f
3、输出本机禁用的包 adb shell pm list packages -d
4、输出本机启用的包 adb shell pm list packages -e
5、打印输出系统包名 adb shell pm list packages -s
6、打印输出第三方安装包 adb shell pm list packages -3
7、输出包和安装信息(安装来源) adb shll pm list packages -i
8、输出包和为安装包信息(安装包来源) adb shell pm list packages -u
9、根据用户id查询用户空间的所有包 adb shell pm list packages --user <USER_ID> 其中USER_ID代表连接设备顺序,从0开始
10、设置过滤参数进行查询 adb shell pm list packages -e “com”

所以,关键还是命令: adb shell pm list packages , 它的后面可以加参数

》》 查找apk 的路径:
adb shell pm path com.xxx.xxx
–> 使用包名PackageName 查看apk所在的路径

二、安装与卸载
adb install -d -r [apk路径] 允许安装低版本的
adb unstall com.xxx.xx 卸载apk

注: adb 安装有可能会安装到所有用户,可以指明user id (0)
adb install --user USER_ID YOUR_APK
adb shell pm install --user USER_ID YOUR_APK # alternative command
参考:
https://android.stackexchange.com/questions/233044/adb-installs-apps-for-all-users-how-to-force-it-to-install-to-main-user-only

https://source.android.com/docs/devices/admin/multi-user-testing官网介绍
adb shell am instrument --user 可针对特定用户运行插桩测试。默认情况下,此命令使用当前用户。
adb install --user 可为特定用户安装软件包。要确保为所有用户安装软件包,您必须为每个用户调用此命令。
adb uninstall --user 可为特定用户卸载软件包。如果调用此命令时不带 --user 标记,可为所有用户卸载软件包。
adb shell am get-current-user 可获取当前(前台)用户 ID。
adb shell pm list users 可获取所有现有用户的列表。
adb shell pm create-user 可创建新用户并返回 ID。
adb shell pm remove-user 可按 ID 移除特定用户。
adb shell pm disable --user 可为特定用户停用软件包。
adb shell pm enable --user 可为特定用户启用软件包。
adb shell pm list packages --user 可为特定用户列出软件包(-e 可列出已启用的软件包,-d 可列出已停用的软件包)。默认情况下,此命令始终为系统用户列出软件包

安装原理可以参考: https://blog.csdn.net/Bill_xiao/article/details/105562693

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
android adb shell 命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号 4. 启动模拟器: emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800) 5. 删除AVD(模拟器): android delete avd --name 名称 6. 创建SDCard: mksdcard 1024M ~/名称.img 7. AVD(模拟器)所在位置: Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd) 8. 启动DDMS: ddms 9. 显示当前运行的全部模拟器: adb devices 10. 对某一模拟器执行命令: abd -s 模拟器编号 命令 11. 安装应用程序: adb install -r 应用程序.apk 12. 获取模拟器中的文件: adb pull 13. 向模拟器中写文件: adb push 14. 进入模拟器的shell模式: adb shell 15. 启动SDK,文档,实例下载管理器: android 16. 缷载apkadb shell cd data/app rm apk exit adb uninstall apk的主adb install -r apk 17. 查看adb命令帮助信息: adb help 18. 在命令行中查看LOG信息: adb logcat -s 标签名 19. adb shell后面跟的命令主要来自: 源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。 20. 删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app rm *.apk 21. 获取管理员权限: adb root 22. 启动Activity: adb shell am start -n 名/名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。 23、发布端口: 你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: adb forward tcp:5555 tcp:8000 24、复制文件: 你可向一个设备或从一个设备中复制文件, 复制一个文件或目录到设备或模拟器上: adb push 如:adb push test.txt /tmp/test.txt 从设备或模拟器上复制一个文件或目录: adb pull 如:adb pull /addroid/lib/libwebcore.so . 25、搜索模拟器/设备的实例: 取得当前运行的模拟器/设备的实例的列表及每个实例的状态: adb devices 26、查看bug报告: adb bugreport 27、记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: adb shell logcat -b radio 28、获取设备的ID和序列号: adb get-product adb get-serialno 29、访问数据库SQLite3 adb shell sqlite3 #cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹
启动 adb server 命令:adb start-server 停止 adb server 命令:adb kill-server 查询已连接设备/模拟器:adb devices 该命令经常出现以下问题: offline —— 表示设备未连接成功或无响应; device —— 设备已连接; no device —— 没有设备/模拟器连接; List of devices attached 设备/模拟器未连接到 adb 或无响应 查看应用列表: 查看所有应用列表:adb shell pm list packages 查看系统应用列表:adb shell pm list packages -s 查看第三方应用列表:adb shell pm list packages -3: 安装apkadb install “-lrtsdg” “path_to_apk” “-lrtsdg”: -l:将应用安装到保护目录 /mnt/asec; -r:允许覆盖安装; -t:允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用; -s:将应用安装到 sdcard; -d:允许降级覆盖安装; -g:授予所有运行时权限; path_to_apkapk的绝对路径。 示例安装淘宝apkadb install -t C:data/local/tmp/taobao.apk 卸载apkadb shell pm uninstall -k “packagename” “packagename”:表示应用的名,以下相同; -k 参数可选,表示卸载应用但保留数据和缓存目录。 示例卸载 手机淘宝:adb uninstall com.taobao.taobao 清除应用数据与缓存命令:adb shell pm clear “packagename” 相当于在设置里的应用信息界面点击「清除缓存」和「清除数据」。 示例:adb shell pm clear com.taobao.taobao 表示清除 手机淘宝数据和缓存。 Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器,具体不做多讲,常用的有以下: 查看前台 Activity命令:adb shell dumpsys activity activities | findstr “packagename” 查看正在运行的 Services命令:adb shell dumpsys activity services “packagename” 其中参数不是必须的,指定 “packagename” 表示查看与某个名相关的 Services,不指定表示查看所有 Services。 查看应用详细信息命令:adb shell dumpsys package “packagename” 调起 Activity命令格式:adb shell am start [options] 例如:adb shell am start -n com.tencent.mm/.ui.LauncherUI表示调起微信主界面 调起 Service命令格式:adb shell am startservice [options] 例如:adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService 表示调起微信的某 Service。 强制停止应用命令:adb shell am force-stop “packagename” 例如强制停止淘宝:adb shell am force-stop com.taobao.taobao 模拟按键指令:adb shell input keyevent keycode 不同的 keycode有不同的功能:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值