adb shell 进阶

window 配置adb,在环境变量path中添加sdkpath/platform-tools,

1.adb devices; result: list of devices;emulator -list-avds

2.adb  -s  <devicename> shell ;进入模拟器;adb -e shell

3.emulator -avd < avdName > -port < portNumber > -wipe-data 启动模拟器,设定模拟器不使用快照,擦除用户数据

emulator -avd Pixel_XL_API_26 -writable-system

adb root;adb remount;

 adb -e push 上面你复制的路径+su.pie /system/bin/su 

另外经过测试,貌似不能写入是因为命令输入的太久了,重启模拟器后再快速输入一遍这三条命令就可以。 后面如果出现没有写入权限或者root失败,也是只能重启。

https://blog.csdn.net/yeshao1997/article/details/80537190

adb shell 用于调试,根编译与调试密切相关。本小节主要总结一些调试技巧。

1. adb push 与模块编译。

对于一些修改了简单文件,不需要new\remark\,可以进行模块编译,然后根据android.mk文件信息将so,apk push到手机中。

$ source build/envsetup.sh
$ lunch
$ mm

android没有sudo命令,可以使用 su.apk执行su命令;

2.关于模拟器获取root权限

需要将模拟器的/system挂载为可读可写,并且向/system分区写入的内容要保存。查阅资料可知,启动模拟器后,通过mount -o remount /dev/block/vda /system命令可以重新挂载/system分区为可读写,但是重启后,写入的内容会丢失。
解决方法为:

  1. 使用emulator命令在命令行中启动模拟器,并传入参数-writable-system -netdelay none -netspeed full即可,例如启动名为Android6.0的模拟器,则启动命令为
    emulator -writable-system -netdelay none -netspeed full -avd Android6.0
  2. 启动模拟器后,依次运行以下命令:
    adb shell
    su
    mount -o remount /dev/block/vda /system
    最后/system就是可读写了,并且重启后不会丢失之前所写的内容。
  3. 注:/dev/block/vda 根据自己的mount情况替换

进入目录,以可写方式启动模拟器

使用 C:\Users\Administrator\AppData\Local\Android\Sdk\emulator 下 emulator -avd Nexus_5X_API_29 -writable-system
安装Supersu.apk; 进入目录 C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools;

adb -e install 1739097.apk;

 

3.  查看数据

cd /data/data/package

sqlite3 db; .table;select * from table;

adb content [delete,query,insert] --uri  content://

adb shell content delete --uri content://settings/settings/pointer_speed

adb shell content query --uri content://settings/settings

adb shell content insert --uri content://settings/secure --bind name:s:my_number --bind value:i:24

 

4.android studio文本对比工具

(1)找到右上角工具栏中的“View”3、找到Compare with Cliboard

(2)获取手机截屏 ,logcat 显示框右侧有照相按钮,可以截屏与录屏;

 

5.adb shell 获取设备信息

(1)获取传感器信息 adb shell pm list features

(2)获取手机型号 adb shell getprop ro.product.model

(3)获取手机电池信息与设置  adb shell dumpsys battery;

adb shell dumpsys battery set level 100;//设置电量百分比

adb shell dumpsys battery reset; //复位,恢复实际状态

(4)获取系统逻辑分区 adb shell df

获取系统物理分区 adb shell cat sys/block/mmcblk0/mmcblk0p*/size

6. 截屏

adb shell screencap -p /sdcard/01.png

adb pull /sdcard/01.png

 

7.高低温警告弹框

adb shell dumpsys battery set level 3 //设置手机电量3%

adb shell dumpsys battery unplug/reset //设置手机断开充电/复位

adb shell dumpsys battery set temp 550 550即为55度(高温) -50 即为-5度(低温)

注意:高低温警告需要和驱动沟通,让驱动传一个值 

adb shell  cd sys/devices/platform/battery

echo 55 > Battery_Temperature  

adb shell  "echo 55 >> sys/devices/platform/battery/Battery_Temperature"

上层预置batterywarning模块

 

cts测试真是集合了Google工程师奇技淫巧之大成,很多神奇的骚操作,都可以在这里面找到。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值