控制台下
写mac跟sn
#写mac
su
echo 1 > /sys/class/unifykeys/attach
echo mac > /sys/class/unifykeys/name
echo 00:22:6D:C6:9A:57 > /sys/class/unifykeys/write
cat /sys/class/unifykeys/read
#写sn
su
echo 1 > /sys/class/unifykeys/attach
echo usid > /sys/class/unifykeys/name
echo 2023011038 > /sys/class/unifykeys/write
cat /sys/class/unifykeys/read
pm系列
pm工具为包管理(package manager)的简称,可以使用pm工具来执行应用的安装和查询应用包的信息、系统权限、控制应用。pm工具是Android开发与测试过程中必不可少的工具。通常放置在System/bin下。
# 列出所有已安装应用程序的包名信息
pm list packages
# 查询所有系统应用的包名
pm list packages -s
# 查询所有第三方应用的包名
pm list packages -3
# 获取指定应用程序包(PACKAGE)的详细信息,包括包名、版本号、权限等
pm dump PACKAGE
# 启用指定包名的应用程序
pm enable PACKAGE_NAME
# 禁用指定包名的应用程序
pm disable PACKAGE_NAME
# 授权给指定包名的应用程序指定权限
pm grant PACKAGE_NAME PERMISSION
# 撤销指定包名的应用程序指定权限
pm revoke PACKAGE_NAME PERMISSION
# 清除指定包名应用程序的数据及缓存
pm clear PACKAGE_NAME
# 强制停止指定包名的应用程序
am force-stop PACKAGE_NAME
am系列
# 通过命令启动APK
am start -n APK包名/启动类名
截屏录屏
# 截屏
/system/bin/screencap -p /sdcard/screencap.png
# 录屏10秒钟
screenrecord --time-limit 10 /sdcard/BlackScreen.mp4
抓取log
# 清除当前日志缓冲区的内容
logcat -c
# 捕获设备上的日志,使用 "threadtime" 格式显示,并将日志输出到 "/data/123.log" 文件
logcat -c && logcat -v threadtime > /data/123.log
# 捕获设备上的日志,使用 "time" 格式显示,并将日志输出到 "/data/123.log" 文件
logcat -c && logcat -v time > /data/123.log
# 使用adb pull命令将设备上的 "/data/123.log" 文件拉到本地目标路径
adb pull /data/123.log /本地目标路径/
控制gpio口
# 创建 GPIO 控制口,将 GPIO 编号 488 导出到/sys/class/gpio/ 目录下
echo 488 > /sys/class/gpio/export
# 查看 GPIO 控制口的方向,输入还是输出
cat /sys/class/gpio/gpio488/direction
# 设置 GPIO 控制口的方向为输出
echo out > /sys/class/gpio/gpio488/direction
# 设置 GPIO 控制口的值为高电平(1),将 GPIO 置为高电平状态
echo 1 > /sys/class/gpio/gpio488/value
# 设置 GPIO 控制口的值为低电平(0),将 GPIO 置为低电平状态
echo 0 > /sys/class/gpio/gpio488/value
# 取消 GPIO 的导出,释放 GPIO 控制口
echo 488 > /sys/class/gpio/unexport
获取系统属性
# 获取系统的属性
getprop
e.g :getprop persist.sys.timezone
# 设置系统的属性
setprop
e.g :setprop persist.sys.timezone Asia/Tokyo
uboot下
设置kernel log级别
# 设置环境变量 loglevel 的值为 7
s4_ap222# env set loglevel 7
# 将当前环境变量保存到存储设备中
s4_ap222# env save
# 重新启动设备,应用新的环境变量设置
s4_ap222# reboot
控制gpio口
# 查看所有 GPIO 口的状态
gpio status -a
# 拉高指定 GPIOX_8 口的电平
gpio set GPIOX_8
# 拉低指定 GPIOX_8 口的电平
gpio clear GPIOX_8
不过这个操作方式在reboot之后就失去作用了
SDK下
查看apk的包名和权限
./sdk_name/prebuilts/sdk/tools/linux/bin/aapt dump badging /apk_path/apkName
#需要修改sdk_name\apk_path\apkName为自己对应的信息
example: ./prebuilts/sdk/tools/linux/bin/aapt dump badging ./xxx.apk
删除out下面的.dtb文件(修改dtsi文件时需要)
#查找out目录下的所有dtb文件并执行删除
find out/ -name *.dtb | xargs rm -rf
查看一个apk的详细信息
# 查看 APK 文件的基本信息,包括包名、版本等
aapt dump badging xxx.apk
# 使用 grep 过滤出 APK 文件的包名信息
aapt dump badging xxx.apk | grep package
# 使用 grep 过滤出 APK 文件的权限信息
aapt dump badging xxx.apk | grep permission
# 使用 grep 过滤出 APK 文件的活动(Activity)信息
aapt dump badging xxx.apk | grep activity
这个命令可以查看到apk的包名,版本信息,启动活动,SDK版本,权限信息,目标设备等
也可以在【consol】下使用
dumpsys package 包名
这个命令不仅会显示apk的基本信息还会显示UID,进程信息等,比较多,建议使用的时候结合grep