Fork me on GitHub

Android之ADB配置

ADB配置

查看此文件是否存在  不存在新建一个
~/.bash_profile

export ANDROID_HOME=/Users/xx/Documents/sdk
export ANDROID_NDK_HOME=${ANDROID_HOME}/ndk-bundle
export ANDROID_TOOL_HOME=${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools
export ANDROID_PATH="${ANDROID_HOME}:${ANDROID_NDK_HOME}:${ANDROID_TOOL_HOME}"
export PATH="${ANDROID_PATH}:${GRADLE_HOME/bin}:$PATH"
编辑完成之后 运行下面的命令
source ~/.bash_profile 

测试一下配置  输入
adb help
不出现adb: command not found,即表示配置完成

常规ADB命令

获取apk包名

  • 运行在手机中
adb shell dumpsys activity | grep package linux or Mac系统
adb shell dumpsys activity | findstr package Windows系统

pause 暂停该界面

查看当前的Activity
adb shell dumpsys window | findstr mCurrentFocus (window)
adb shell dumpsys activity top | grep activity  (linux)
查看顶层的Activity 信息太多 不推荐使用
adb shell dumpsys activity top

  • 还未安装的apk
aapt dump badging apk

查看日志App

  • 获取apk
1. 拿到apk的位置
adb shell pm list package -f |grep packageName

2. 根据上面获取的位置 进行拉取apk到当前文件夹
adb pull /data/app/com.company.app-2l55HorqpDi9oKzVY0fwVA==/base.apk=com.company.app app.apk

3. 获取指定的包名
adb shell ps | grep packageName

4. 过滤进程
adb logcat | grep pid

5. 保存日志到本地log.txt中
adb logcat > log.txt
保留指定进程日志到文件中
grep 14312 log.txt > keep.log

6.匹配日志包含crash关键字的函数,-i为忽略大小写 
cat keep.log | grep -i crash
adb进行过滤多个关键字
adb logcat | grep -E "key1|key2|key3"
去掉递归查询
grep -r keyword 

7. 查看
adb logcat -v time | grep ActivityManager 查看Activity跳转
adb logcat -v time | grep AndroidRuntime 查看崩溃信息
adb logcat -v time | grep "D/\Dalvik" 查看Dalvik信息 GC
adb logcat -v time | grep "I\/art" 查看art信息,比如GC
adb logcat -v time | grep TAG 根据日志过滤出来

8. 其他命令
adb logcat
adb logcat > ***.log
adb logcat -c && adb logcat > /sdcard/xxx.log

ADB查看权限

  • 查看手机所有权限
adb shell pm list permissions -s
adb shell pm list permissions -g
adb shell pm list permissions -d
adb shell pm list permissions -g -d
  • 查看app配置的权限
adb install -g <path_apk>
  • 授权/撤销给APP的权限指定权限
adb pm grant/revoke <packageName> <permission_name>
adb shell pm grant/revoke  <permission_name>

其他常用命令

  • 清除数据
adb shell pm clear packageName
  • 重启手机
adb reboot
  • 恢复手机出厂设置
adb reboot recovery
  • 拷贝文件或目录
adb push local remote 复制本地内容到设备中
adb pull remote local 从设备中复制内容到本地
  • 安装apk
adb install apk 直接安装
adb install [-r] apk 覆盖安装
adb install [-t] apk 测试安装
adb install [-g] apk 立即安装并且允许所有权限
adb install [-d] apk 允许安装低于已经安装的DebubApk
adb install [-s] apk 安装apk到SD卡中
adb uninstall [-k] apk 卸载app -k 卸载但保留数据和缓存文件
adb shell am force-stop packageName 强制停止应用
adb shell pm install apk 安装应用
adb shell pm uninstall packageName 卸载应用

安装文件夹下面的所以apk文件
Windows:for %f in (C:\your_app_path\*.apk) do adb install "%f"
Linux : for f in *.apk ; do adb install "$f" ; done

列举已经安装的安装包路径
adb shell pm path packageName
adb shell pm list packages -f | grep packageName
  • 其他
列出连接设备
adb devices 

停止/启动adb服务
adb kill-server/start-server

查看进程列表
adb shell ps [| grep 包名]

杀死一个进程
adb shell kill [pid]

查看系统盘符
adb shell df 

查看手机架构
adb shell getprop |grep ar

获取CPU序列号
adb shell cat /proc/cpuinfo

获取序列号
adb get-serialno

查看设备cpu和内存占用情况
adb shell top

查看后台services信息
adb shell service list

查看文件内容
adb shell cat <file>

移动文件
adb shell mv path/file newpath/file

查看签名
keytool -list -v -keystore xx.jks

跑monkey500次
adb shell monkey -v -p your.package.name 500 

环境是MacOs,如果是Window环境的话,请使用PowerShell来参考

posted @ 2021-05-24 09:31  KevinAt2022  阅读(251)  评论(0)    收藏  举报