adb logcat 写文件乱码的解决方案

如果在 Windows 下直接 adb logcat 写文件是会存在乱码的问题,这边建议使用 Python 脚本解决这个问题

python 复制代码
import subprocess
import sys
from datetime import datetime

def run_adb_logcat(output_file=None):
    try:
        # 如果没有指定输出文件,使用当前时间创建文件名
        if output_file is None:
            output_file = f"logcat_{datetime.now().strftime('%Y%m%d_%H%M%S')}.txt"
        
        # 执行 adb logcat 命令
        process = subprocess.Popen(
            ['adb', 'logcat'],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            universal_newlines=True,
            encoding='utf-8',
            errors='replace'  # 处理无法解码的字符
        )
        
        # 打开文件准备写入
        with open(output_file, 'w', encoding='utf-8') as f:
            while True:
                try:
                    # 读取一行输出
                    line = process.stdout.readline()
                    if not line:
                        break
                    
                    # 写入文件
                    f.write(line)
                    # 立即刷新缓冲区
                    f.flush()
                    
                except KeyboardInterrupt:
                    print("\n停止记录日志")
                    break
                except Exception as e:
                    print(f"发生错误: {str(e)}")
                    break
        
        # 终止进程
        process.terminate()
        
    except Exception as e:
        print(f"执行出错: {str(e)}")
        sys.exit(1)

if __name__ == "__main__":
    # 可以指定输出文件名,如果不指定则使用默认的时间戳文件名
    output_file = sys.argv[1] if len(sys.argv) > 1 else None
    run_adb_logcat(output_file) 
    
相关推荐
love530love5 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
遇事不決洛必達5 小时前
【Python基础】GIL 锁是什么及其对爬虫的影响
爬虫·python·线程·进程·gil锁
数智工坊6 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
CryptoPP6 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
探物 AI6 小时前
把 MambaOut 塞进 YOLOv11:会有什么样的反应
python·yolo·计算机视觉
如竟没有火炬7 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
阳区欠7 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain
Cosolar7 小时前
保姆级 CrewAI 教程:从零构建多智能体协作系统
人工智能·python·架构
GDAL7 小时前
使用 uv 管理 Python 版本
python·uv·版本
真实的菜7 小时前
Redis 从入门到精通(十二):典型业务场景实战 —— 排行榜、限流器、秒杀系统、Session 共享
数据库·redis·python