修改RK3399系统一些常用命令

目录

 前言

修改横竖屏方法

隐藏导航栏

隐藏状态栏

基础非shell命令

进入shll命令

 查看串口

命令打开系统录音

安装app

卸载app

将设备文件拉取本地

将本地文件上传到设备

截屏

录屏

输入文本内容

启动服务

查看设备ip地址

查看设备端口信息

运行java代码

运行一个dex文件

关闭android当前应用

关闭adb服务

启动adb服务

查看手机设备型号

查看设备的Android版本

获取手机厂商名称

获取手机SDK版本

查看手机分辨率

查看屏幕密度

查看手机的mac地址

查看电池信息

查看进程

查看CPU使用情况

CPU信息

内存信息

查看手机上所有安装的app包名

查看应用详细信息

清除应用数据

获取某个应用包名的启动入口

屏幕截屏

录制视频

上传文件到手机

从手机端下载文件

模拟屏幕点击事件

模拟手势滑动事件

模拟点击键盘按钮

向屏幕输入一些信息

查看前台Activity

查看正在运行的Services

启动某个app

发送广播

使用自带浏览器打开网页

获取手机内部存储信息

打印应用程序的log 

无线连接(需要借助USB连接线)

操作步骤

断开无线连接

 显示wifi信息

对于TCP/IP协议相关的都可以使用这个来抓 

查看wifi密码 

关于ADB IDEA

使用方式

一些琐碎小问题

不知应用包的入口Activity如何启动应用包


 前言

     最近有一个项目需要频繁与硬件打交道,比如修改安卓板子的分辨率、切换横竖屏等操作,以及使用各种 ADB 命令。为了方便后期记忆和参考,我在这里记录一下相关步骤和命令。

修改横竖屏方法

  • 第一步

使用Type-C连接PC与板子,在PC上使用adb 拉取到项目中,如图:

adb pull /system/build.prop

第二步: 修改 build.prop  

a) 修改 ro.sf.hwrotation=90
b) 增加 sys.hwc.device.primary=HDMI-A

1.修改硬件屏幕方向

ro.sf.hwrotation=0

2.修改屏幕分辨率

persist.sys.framebuffer.main=1920×1080

3.隐藏虚拟按键

qemu.hw.mainkeys=1

第三步: 命令将修改过的 build.prop 推送到板子

//启动root模式
adb root

//重新挂载文件系统
adb remount

//覆盖文件
adb push build.prop /system/

第四步: 重启板子,可使用以下命令重启板子

adb reboot

隐藏导航栏

通过系统 property 来控制:

路径 device/rockchip/rk3399/system.prop

qemu.hw.mainkeys=1

隐藏状态栏

修改资源文件代码:

frameworks/base/core/res/res/values/dimens.xml

<dimen name="status_bar_height">24dp</dimen>
<!-- Height of the bottom navigation / system bar. -->
将高度 24 改成 0

基础非shell命令

进入shll命令

adb shell

 查看串口

ls /dev/

返回:

命令打开系统录音

am start -W -n com.android.soundrecorder/.SoundRecorder

安装app

adb install apk文件的绝对路径

卸载app

adb uninstall 包名

将设备文件拉取本地

adb pull 设备文件路径 本地保存路径

将本地文件上传到设备

adb push 本地文件路径 设备文件保存路径

截屏

adb shell screencap -p 截图文件保存设备上的路径

拓展

直接保存本地

adb sehll screencap -p /sdcard/tmp.png
adb pull /sdcard/tmp.png D:\

录屏

adb shell screenrecord 录屏保存设备上的路径

输入文本内容

adb shell input text '输入的内容'

启动服务

am startservice -n 包名/包名.service名称

查看设备ip地址

netcfg

查看设备端口信息

netstat

运行java代码

app_process 代码运行目录 代码主类

运行一个dex文件

dalvikvm -cp dex文件 运行主类

关闭android当前应用

//查看当前应用包名
 adb shell dumpsys window | grep mCurrentFocus
//返回消息
mCurrentFocus=Window{9b9b89b u0 com.maxvision.translation/com.maxvision.translation.ui.v1.TcpServiceActivity}
//根据包名关掉当前应用
adb shell am force-stop com.maxvision.translation

关闭adb服务

adb kill -server

启动adb服务

adb start -server

查看手机设备型号

adb shell getprop ro.product.model

返回结果如下 :

查看设备的Android版本

adb shell getprop ro.build.version.release

获取手机厂商名称

adb shell getprop ro.product.brand

返回结果如下:

获取手机SDK版本

adb shell getprop ro.build.version.sdk

查看手机分辨率

adb shell wm size

查看屏幕密度

adb shell wm density

修改屏幕密度

adb shell wm density 160

恢复原屏幕密度

adb shell wm density reset

查看手机的mac地址

adb shell cat /sys/class/net/wlan0/address

查看电池信息

adb shell dumpsys battery

查看进程

adb shell ps

查看CPU使用情况

adb shell top

CPU信息

adb shell cat /proc/cpuinfo

内存信息

adb shell cat /proc/meminfo

查看手机上所有安装的app包名

adb shell pm list packages

adb shell pm list packages -s 查看所有系统app的包名
adb shell pm list packages -3 查看所有第三方app的包名
adb shell pm list packages | grep [包名] 使用grep筛选所有满足要求的app包名

参数显示列表
所有应用
-f显示应用关联的apk文件
-d只显示disabled的应用
-e只显示enabled的应用
-s只显示系统应用
-3只显示第三方应用
-i显示应用的installer
-u包含已卸载应用
<FILTER>包名包含<FILTER> 字符串

查看应用详细信息

adb shell dumpsys package <packagename>

清除应用数据

adb shell pm clear <packagename>

当你只是想要清除一个apk的某些数据来复现某些操作的时候,这个命令就显得额外重要。它可以避免我们重装apk来完成这个操作。

获取某个应用包名的启动入口

  • adb shell dumpsys package com.ss.android.ugc.aweme|findstr activity
  • com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity 这个就是抖音的入口

adb shell dumpsys package com.ss.android29111 com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity

屏幕截屏

adb shell screencap [保存路径]

adb shell screencap /sdcard/screen.png

也可以使用(adb版本太老的话,需要更新adb)

adb exec-out screencap  > sc.png

录制视频

adb shell screenrecord [保存路径]

上传文件到手机

adb push [电脑文件路径] [手机文件保存路径]

adb push douyin.apk sdcard/douyin.apk

从手机端下载文件

adb pull [手机上文件路径]

注意:此时没有指定上传到电脑的路径,会默认上传到adb程序所在的路径

adb pull sdcard/douyin.apk

指定上传路径:adb pull [手机上文件的路径] [电脑文件的路径]

adb pull /storage/emulated/0/app/txt.mp4 D:/ADB/tet.mp4

模拟屏幕点击事件

adb shell input tap x坐标轴 y坐标轴

adb shell input tap 500 1450

模拟手势滑动事件

adb shell input swipe 开始x轴 开始y轴 结束x轴 结束y轴 过程持续时间

adb shell input swipe 100 500 100 1450 100

模拟点击键盘按钮

adb shell input keyevent [key值]

adb shell input keyevent 25

一些常用的keyevent键值信息

keyevent效果
3Home键
4返回键
5拨号键
6挂机键
19向上
20向下
21向左
22向右
24音量加
25音量减
26电源
27拍照(需要在相机应用里)
64打开浏览器
66回车键
67退格键
82菜单键
84搜索键
85播放/暂停键
86停止播放
87播放上一首
88播放下一首
92向上翻页
93向下翻页
112删除键
115大写锁定键
122光标移动到开始键
123光标移动到末尾键
164静音
168放大键
169缩小键
176打开系统设置
187切换应用
220降低屏幕亮度
221提高屏幕亮度
223系统休眠
224点亮屏幕
231打开语音助手

向屏幕输入一些信息

  • db shell input text [字符串信息]
  • %s是空格

db shell input text "insert%stext%shere"

查看前台Activity

同时小编也是通过这种方式获取到应用包的入口
adb shell dumpsys activity activities | findstr mResumedActivity
获取到了QQ的启动入口

查看正在运行的Services

adb shell dumpsys activity services [<packagename>]

<packagename> 参数不是必须的,指定 <packagename>表示查看与某个包名相关的 Services,不指定表示查看所有 Services。
<packagename> 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.example,那么包名 org.example.demo1、org.example.demo2 和 org.example123 等相关的 Services 都会列出来。

启动某个app

adb shell am start -n [包名]/[启动入口]

adb shel am start -n com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity
Strating:Intent{cmp=com.ss.android.ugc.aweme/com.ss.android.sdk.activity.BootstrapActivity}

启动qq

adb shell am start -n com.tencent.mobileqq/.activity.SplashActivity

启动有道词典

发送广播

adb shell am broadcast -a "broadcastactionfilter"

adb shell am broadcast -a "broadcastactionfilter"

使用自带浏览器打开网页

adb shell am start -a [浏览器包名] -d [网址]

adb shell am start -a "android.intent.action.VIEW" -d https://www.google.com

获取手机内部存储信息

adb shell df /data

打印应用程序的log 

//格式1:打印默认日志数据
adb logcat

//格式2:需要打印日志详细时间的简单数据
adb logcat -v time

//格式3:需要打印级别为Error的信息
adb logcat *:E

//格式4:需要打印时间和级别是Error的信息
adb logcat -v time *:E

//格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt

无线连接(需要借助USB连接线)

除了可以通过USB连接设备与电脑来使用adb,也可以通过无线连接——虽然连接过程中也有需要USB的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱USB连接线的束缚了!

操作步骤

1.将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。
2.将设备与电脑通过 USB 线连接。
应确保连接成功(可运行 adb devices 看是否能列出该设备)。
3.让设备在 5555 端口监听 TCP/IP 连接:

adb tcpip 5555

4.断开 USB 连接。
5.找到设备的 IP 地址。

一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。
6.通过 IP 地址连接设备。

adb connect <device-ip-address>

device-ip-address>你设备的ip地址
7.确认连接状态

adb devices

如果能看到

<device-ip-address>:5555 device

说明连接成功
如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect <device-ip-address> 那一步;
如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

断开无线连接

adb disconnect <device-ip-address>

 显示wifi信息

adb shell dumpsys wifi

对于TCP/IP协议相关的都可以使用这个来抓 

adb shell tcpdump -s 10000 -w /sdcard/capture.pcap

查看wifi密码 

adb shell cat /data/misc/wifi/*.conf

关于ADB IDEA

AS插件ADB IDEA,装了这款插件可以直接在AS中快速操作一些ADB命令

使用方式

1、双击shift -> 点击action ->搜索adb

2、Ctrl + Shift + A,快捷键直接调用

一些琐碎小问题

不知应用包的入口Activity如何启动应用包

1.通过category

adb shell monkey -p <packagename> -c android.intent.category.LAUNCHER 1
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值