adb install
@echo off mode con cols=108 lines=5 adb wait-for-device adb install -r -t -g -d %1
同步系统时间
@echo off mode con cols=108 lines=5 color f2 adb root adb shell adbd1234 adb remount adb disable-verity adb shell date "%Date:~0,4%-%Date:~5,2%-%Date:~8,2%" adb shell date "%time:~0,2%:%time:~3,2%" adb remount pause
打开系统设置
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.util def 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 True except subprocess.CalledProcessError: print(f"安装失败,请手动运行: pip install {' '.join(missing_libs)}") return False return True def 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 True except Exception as e: print(f"转换失败: {str(e)}") return False def main(): # 检查依赖 if not check_dependencies(): input("按回车键退出...") return if len(sys.argv) < 2: print("请拖拽Excel文件到此Python文件上") input("按回车键退出...") return file_path = sys.argv[1] if not os.path.isfile(file_path): print(f"错误:不是文件: {file_path}") input("按回车键退出...") return if not (file_path.lower().endswith('.xls') or file_path.lower().endswith('.xlsx')): print(f"错误:不是Excel文件: {os.path.basename(file_path)}") input("按回车键退出...") return print(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 on cd /d %~dp0 adb root adb remount adb 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 off echo 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 setlocal REM 获取当前日期和时间的各个组成部分 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_files set string=./%time% echo 检查是否连接设备..... adb wait-for-device echo 设备连接成功,开始抓取..... adb root echo ----- 开始抓取日志和镜像文件 ----- 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_files echo ----- 日志和镜像文件抓取结束 ----- 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
浙公网安备 33010602011771号