# android-retrace **Repository Path**: jhon2008/android-retrace ## Basic Information - **Project Name**: android-retrace - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-11 - **Last Updated**: 2025-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android Retrace 日志解析工具 一个基于 Gin 框架和 Vue.js 的 Web 应用,用于解析 Android 应用的异常堆栈信息。 ## 功能特性 - 🌐 **WebSocket 实时连接**:建立持久连接,自动管理临时会话 - 📁 **文件上传**:支持拖拽上传 mapping 文件 - 📝 **堆栈解析**:输入异常堆栈信息,一键解析出可读的日志 - 🎨 **现代化 UI**:响应式设计,美观易用 - 🔄 **自动清理**:连接断开时自动清理临时文件 ## 技术栈 ### 后端 - **Go 1.21+** - **Gin** - Web 框架 - **Gorilla WebSocket** - WebSocket 支持 - **Google UUID** - 唯一标识符生成 ### 前端 - **Vue 3** - 前端框架 - **Vite** - 构建工具 - **原生 JavaScript** - 无额外依赖 ## 快速开始 ### 1. 克隆项目 ```bash git clone cd android-retrace ``` ### 2. 安装后端依赖 ```bash go mod tidy ``` ### 3. 安装前端依赖 ```bash cd web npm install ``` ### 4. 构建前端 ```bash npm run build ``` ### 5. 运行后端服务 ```bash cd .. go run main.go ``` ### 6. 访问应用 打开浏览器访问 `http://localhost:8080` ## 使用说明 1. **建立连接**:页面加载后会自动建立 WebSocket 连接 2. **上传文件**:拖拽或点击上传 mapping 文件 3. **输入堆栈**:在文本框中粘贴异常堆栈信息 4. **开始解析**:点击"开始解析"按钮 5. **查看结果**:解析结果会显示在下方 ## 项目结构 ``` android-retrace/ ├── main.go # 主程序入口 ├── go.mod # Go 模块文件 ├── internal/ # 内部包 │ ├── handlers/ # HTTP 处理器 │ ├── websocket/ # WebSocket 管理 │ ├── session/ # 会话管理 │ └── parser/ # 日志解析器 ├── web/ # 前端代码 │ ├── index.html # 主页面 │ ├── package.json # 前端依赖 │ └── vite.config.js # Vite 配置 └── temp/ # 临时文件目录(运行时生成) ``` ## API 接口 ### WebSocket - `GET /ws` - 建立 WebSocket 连接 ### HTTP API - `GET /` - 主页面 - `POST /upload?token=` - 上传文件 - `POST /parse` - 解析日志 ## 环境要求 - Go 1.21 或更高版本 - Node.js 16 或更高版本 - Android SDK 中的 retrace 工具 ## 注意事项 1. 确保系统已安装 Android SDK 并配置了 retrace 工具 2. 临时文件会在 WebSocket 连接断开时自动清理 3. 支持的文件格式:.txt, .mapping 等文本格式 ## 开发 ### 前端开发模式 ```bash cd web npm run dev ``` ### 后端开发 ```bash go run main.go ``` ## 许可证 MIT License