adb install
 
@echo off mode con cols=108 lines=5adb wait-for-device adb install -r -t -g -d %1
同步系统时间
 
@echo off mode con cols=108 lines=5color f2adb root adb shell adbd1234 adb remount adb disable-verityadb shell date "%Date:~0,4%-%Date:~5,2%-%Date:~8,2%" adb shell date "%time:~0,2%:%time:~3,2%" adb remountpause
打开系统设置
 
adb root adb shell adbd1234 adb shell FFFFFFFF adb shell am start -W com.android.car.settings/.Settings_Launcher_Homepage pause
将xls表格转换成json数据,json格式为{ "list": [{"id": 0,"r": 0,"g": 84,"b": 255},...]}
 
import pandas as pd import json import os import sys import subprocess import importlib.utildef check_dependencies():"""检查并安装必要的依赖库"""required_libs = ['pandas', 'openpyxl']missing_libs = []for lib in required_libs:if importlib.util.find_spec(lib) is None:missing_libs.append(lib)if missing_libs:print("正在安装必要的Python库...")try:# 安装缺失的库subprocess.check_call([sys.executable, "-m", "pip", "install"] + missing_libs)print("库安装完成!")return Trueexcept subprocess.CalledProcessError:print(f"安装失败,请手动运行: pip install {' '.join(missing_libs)}")return Falsereturn Truedef excel_to_json(file_path):try:# 读取Excel文件df = pd.read_excel(file_path)# 转换为列表格式result_list = []for index, row in df.iterrows():# 根据您的需求映射列名item = {"id": int(row.iloc[0]) if pd.notna(row.iloc[0]) else 0,"r": int(row.iloc[1]) if pd.notna(row.iloc[1]) else 0,"g": int(row.iloc[2]) if pd.notna(row.iloc[2]) else 0,"b": int(row.iloc[3]) if pd.notna(row.iloc[3]) else 0}result_list.append(item)# 创建最终的JSON结构final_json = {"list": result_list}# 生成输出文件名base_name = os.path.splitext(file_path)[0]output_file = f"{base_name}.json"# 保存为JSON文件with open(output_file, 'w', encoding='utf-8') as f:json.dump(final_json, f, indent=2, ensure_ascii=False)print(f"转换成功!输出文件: {output_file}")return Trueexcept Exception as e:print(f"转换失败: {str(e)}")return Falsedef main():# 检查依赖if not check_dependencies():input("按回车键退出...")returnif len(sys.argv) < 2:print("请拖拽Excel文件到此Python文件上")input("按回车键退出...")returnfile_path = sys.argv[1]if not os.path.isfile(file_path):print(f"错误:不是文件: {file_path}")input("按回车键退出...")returnif not (file_path.lower().endswith('.xls') or file_path.lower().endswith('.xlsx')):print(f"错误:不是Excel文件: {os.path.basename(file_path)}")input("按回车键退出...")returnprint(f"正在处理文件: {os.path.basename(file_path)}")excel_to_json(file_path)input("\n按回车键退出...")if __name__ == "__main__":main()

将表格中前四列转换成json格式,直接将表格文件拖到脚本文件即可
删除文件夹
 
adb wait-for-device adb root adb remount adb shell setprop persist.log.tag V adb shell settings put system pointer_location 1 adb shell settings put system show_touches 1 adb shell rm -rf /mnt/log/ANDROID adb shell rm -rf /data/vendor/nfs/mount/qlog/qlog adb shell rm -rf /data/vendor/nfs/mount/qlog/vip adb shell rm -rf /data/vendor/nfs/mount/fota/dhu/log adb shell rm -rf /data/vendor/nfs/mount/fota/fota/log pause
Monkey脚本
 
@echo oncd /d %~dp0 adb root adb remountadb shell setprop persist.logd.size 64M adb shell setprop persist.log.tag V adb shell setprop log.tag.stats_log V::adb shell "monkey --pkg-blacklist-file /data/whitelist.txt --pct-syskeys 0 --pct-touch 30 --pct-rotation 0 --ignore-crashes --ignore-native-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --throttle 250 -s 2 -v -v -v 900000000 2>/sdcard/error.txt 1>/sdcard/info.txt &"adb shell "monkey --pct-syskeys 0 --pct-touch 30 --pct-rotation 0 --ignore-crashes --ignore-native-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --throttle 250 -s 2 -v -v -v 900000000 2>/sdcard/error.txt 1>/sdcard/info.txt &"pause
 
@echo offecho rm /data/start.tag... adb shell "rm /data/start.tag"echo kill monkey... adb shell "ps -ef | grep monkey | grep -v grep | awk '{print $2}' | xargs kill -9" adb shell "ps -ef | grep monkey | grep -v grep"echo kill dmesg... adb shell "ps -ef | grep dmesg | grep -v grep | awk '{print $2}' | xargs kill -9" adb shell "ps -ef | grep dmesg | grep -v grep setlocalREM 获取当前日期和时间的各个组成部分 for /F "tokens=1-6 delims=/:. " %%a in ("%date% %time%") do (set "year=%%c"set "month=%%a"set "day=%%b"set "hour=%%d"set "minute=%%e"set "second=%%f" )REM 格式化日期和时间 set time=%day%%year%%hour%%minute%%second%REM 输出格式化后的时间 echo 当前时间是:%time%md .\%time% md .\%time%\mirror_filesset string=./%time%echo 检查是否连接设备..... adb wait-for-deviceecho 设备连接成功,开始抓取..... adb rootecho ----- 开始抓取日志和镜像文件 -----adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1" for /f "delims=" %%t in ('adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1 |awk '{print $2}' |awk -F '/' '{print $1}'"') do set str=%%t echo 进程名:%str% for /f "delims=" %%i in ('adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1 |awk '{print $2}' |awk -F '/' '{print $1}' |xargs pidof"') do set pid=%%i echo 进程号:%pid% echo 版本信息: adb shell "pm dump %str% | grep version"adb shell dumpsys meminfo > %string%/mirror_files/dumpmeminfo.txt adb shell dumpsys meminfo %str% > %string%/mirror_files/dumpmeminfo_%str%.txt adb shell showmap %pid% > %string%/mirror_files/showmap.txt adb pull proc/%pid%/smaps %string%/mirror_files adb shell am dumpheap %str% /data/local/tmp/%str%.hprof adb pull /data/local/tmp/%str%.hprof %string%/mirror_filesecho ----- 日志和镜像文件抓取结束 ----- echo ----------------------------------echo ----- 开始抓取Android日志 ----- adb pull /data/misc/logd %string% adb pull /sdcard/error.txt %string% adb pull /sdcard/info.txt %string% adb pull /data/system/dropbox %string% adb pull /data/tombstones %string% adb pull /data/anr %string% adb pull /data/pmem_state %string% adb pull /data/dmesg.log %string% adb pull /data/slog.log %string% adb pull /data/pmem-state_qnx %string% adb pull /data/systeminfo %string% adb pull /data/monkeytest %string% adb pull /data/screencap %string%echo 日志保存路径: %string%echo ----- 抓取结束! ----- exit
