adb 命令速查(中)

news/2024/10/18 2:36:44/

ADB 文件系统操作和触摸调试

作者:炭烤毛蛋 ,查看博主了解更多。


提示:承接上篇《adb 命令速查(上)》,本文讲解adb 在系统中文件操作、触摸调试和显示适配。

文章目录

  • ADB 文件系统操作和触摸调试
    • 3 adb 操作sysfs
      • 3.1 向设备推送、拉取 APP
      • 3.2 删除系统 APP
      • 3.3 修改系统配置
    • 4 文件系统操作
      • 4.1 没有读写权限
        • 方法1:未进入android sysfs
        • 方法2:进入android sysfs
        • 方法3:利用data 目录中转文件
      • 4.2 文件保护操作
    • 5 触屏调试
      • 5.1 开启TP效果调试
      • 5.2 模拟按键、触摸
      • 5.3 设置系统参数
    • 6 安卓系统显示
      • 6.1 更改系统显示方向
      • 6.2 adb 调试设置屏幕状态
        • a) 禁止屏幕自动旋转
        • b) 旋转屏幕
      • 6.3修改手机分辨率
        • 8.3.1 手机分辨率
        • 6.3.2 设置dpi
        • 6.3.3 复位设置
  • 结语


3 adb 操作sysfs

3.1 向设备推送、拉取 APP

① 推送文件或目录到设备或模拟器上:

adb push <source> <destination></destination></source>
adb push abc.apk /system/app

② 从设备或模拟器上拉取文件或目录:

adb pull <source> <destination></destination></source>
adb pull d:/abc.apk /system/app

3.2 删除系统 APP

adb root; adb wait-for-device; adb remount;
adb shell rm /system/app/abc.apk

3.3 修改系统配置

参照调节系统亮度。

4 文件系统操作

4.1 没有读写权限

failed for /system/lib/libmm-test.so, Read-only file system),

Android adb调试时,经常会遇到权限问题即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会提示"Read-only file system";亦或APP 没有读写权限。

failed to copy \'d:/abc.apk\' to \'/system/app/abc.apk\': Read-only file system
/system/app/abc.apk: Permission denied
rm failed for abc.apk Read-only file system.

可尝试如下方法解决

方法1:未进入android sysfs

如下指令(adb环境下,下同):

adb root; adb remount; adb shell;
chmod 777 system

如果还有目标路径,对应修改权限即可大部分机子只要,adb
remount一次就可以,无需进行chmod修改权限即可进行PUSH操作。

方法2:进入android sysfs

Step 1: 获取 root 权限

adb root; adb shell

Step 2 重新挂载文件系统
mount -o rw -o remount /dev/block/actb #此方法可获取临时读写权限

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

或者改用挂载文件系统目录名

adb shell mount -o remount rw /system

方法3:利用data 目录中转文件

可先把文件push到 /sdcard 目录,然后到adb shell下面,使用su命令获取root 权限 再搬移到最终地址。

  1. adb push xxx /sdcard/
  2. su 或者使用方法2 获取到系统权限
  3. cat /data/test.so > /system/lib/test.so

4.2 文件保护操作

chattr +i path/file #增加读写保护
chattr --i path/file #去掉读写保护

5 触屏调试

5.1 开启TP效果调试

  1. 开发者选项 > 输入 > 调试选项 > 显示点按,指针位置

  2. adb 快速开启

# 开启触摸点
adb shell settings put system show\_touches 1
# 开启触摸画线
adb shell settings put system pointer\_location 1

5.2 模拟按键、触摸

  1. 模拟按键
adb shell input keyevent 33 # 33为 KEYCODE_HOME# KEYCODE_POWER=26;
# KEYCODE_VOLUME_UP=24;
# KEYCODE_VOLUME_DOWN=25;
# KEYCODE_BACK=4;
# KEYCODE_HOME=3;
# KEYCODE_MENU=82;
  1. 触摸滑动
    从坐标(100,100)滑动到坐标(200,200)历时300毫秒
adb shell input swipe 100 100 200 200 300
  1. 模拟触点
    模拟按键点击桌面事件
# input tap [X] [Y]
adb shell input tap 100 200
  1. 模拟输入字符串
adb shell input text "String"

5.3 设置系统参数

  1. 获取/更改屏幕休眠时间
adb shell settings get system screen_off_timeout
adb shell settings put system screen_off_timeout 600000
  1. 获取/更改当前亮度值
adb shell settings get system screen_brightness
adb shell settings put system screen_brightness 150

6 安卓系统显示

6.1 更改系统显示方向

更改相关配置文件路径
a) Z:\px5m\device\rockchip\px5\system.prop
-ro.sf.fakerotation=false //是否允许方向修改
-ro.sf.hwrotation=0 // XY轴旋转度数
+ro.sf.fakerotation=true
+ro.sf.hwrotation=180

b) Z:\px5m\device\rockchip\common\system.prop
-ro.sf.fakerotation=false //是否允许方向修改
-ro.sf.hwrotation=0 // XY轴旋转度数
+ro.sf.fakerotation=true
+ro.sf.hwrotation=180

6.2 adb 调试设置屏幕状态

a) 禁止屏幕自动旋转

adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0

b) 旋转屏幕

adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1

i后面跟的不同的值代表旋转为不同的方向,取值范围为0,1,2,3
注意:禁止屏幕自动旋转后才可开启命令旋转屏幕

6.3修改手机分辨率

8.3.1 手机分辨率

查看分辨率

wm size

设置分辨率

wm size 1920x1280 (小写的x)修改分辨率

6.3.2 设置dpi

查看dpi

wm density

修改dpi

wm density 240

6.3.3 复位设置

wm size reset
wm density reset

结语

好工具提升工作效率。不枉博主一片辛苦,欢迎订阅博主–炭烤毛蛋 。


http://www.ppmy.cn/news/86599.html

相关文章

机器学习模型——回归模型

文章目录 监督学习——回归模型线性回归模型最小二乘法求解线性回归代码实现引入依赖&#xff1a;导入数据&#xff1a;定义损失函数&#xff1a;定义核心算法拟合函数&#xff1a;测试&#xff1a;画出拟合曲线&#xff1a; 多元线性回归梯度下降求线性回归梯度下降和最小二乘…

科学计算中那些眼花缭乱的Python

我们将使用Python实现一个数值计算方面的令你眼花缭乱的炫技案例。 这活有意思&#xff0c;但是呢&#xff0c;嗯。。。其实我觉得也不一定有用其次&#xff0c;真搞科学计算&#xff0c;还得看Fortran&#xff0c;Python就是个。。&#xff08;跑得快哇&#xff01;&#xff0…

Pruning 系列 (六)remove剪枝

环境 python 3.9numpy 1.24.1pytorch 2.0.0+cu117一、填0与remove剪枝的差异 直接填0的剪枝: 优点: 保留了原始网络结构,便于实现和微调。部分减少模型的计算量。缺点: 零权重仍然需要存储,因此不会减少内存使用。一些硬件和软件无法利用稀疏计算,从而无法提高计算效率…

C++数据结构:线性顺序表(链表)

文章目录 前言一、链表简介二、单链表实现二、代码解读三、链表的优缺点总结 前言 前一篇文章介绍用数组实现的顺序表时已经提到链表这种结构&#xff0c;在STL中的 list 就是以链表实现的顺序表。这种结构与数组相比最大好处就是可以很方便的在头部和中部插入数据&#xff0c…

常见的前端框架有哪些?

常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等 常用框架介绍&#xff1a; Bootstrap框架 Bootstrap是当今可用的前端框架中最受欢迎的&#xff0c;它具有直观&#xff0c;时尚的界面而且功能强大可以更快更轻松的实现web开发而且不需…

nginx判断访问的是不是index.html如果是且index.html存在直接返回

可以通过以下配置实现此功能&#xff1a; 复制server {listen 80;server_name example.com;root /var/www/example.com;index index.html;location / {try_files $uri $uri/ index;}location index {if (-f $document_root/index.html) {return 200;}rewrite ^ /index.html la…

今天用AI创作助手写的文章--Docker提问系列介绍 Docker 的基本概念和优势

目录 介绍 Docker 的基本概念和优势&#xff0c;以及在应用程序开发中的实际应用。基本概念&#xff1a;优势&#xff1a; 哪些应用可以部署到docker里面Docker在服务器里面的安装步骤Docker里面的报错如何很仔细的排查解决&#xff1f;总结一下docker 未来发展趋势 介绍 Docke…

Spring Boot 3.x 系列【35】服务监控 | 健康信息

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.5 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 1. 配置2. 基本原理3. 自动配置4. 自定义健康指标5. 分组6. 数据源1. 配置 Health是健康的意思,该端点用来检查正在运行…