218 lines
5.3 KiB
Markdown
218 lines
5.3 KiB
Markdown
|
|
# Android手机调试完整指南
|
|||
|
|
|
|||
|
|
## 调试环境准备
|
|||
|
|
|
|||
|
|
### 1. ADB连接设置
|
|||
|
|
```bash
|
|||
|
|
# 检查ADB连接
|
|||
|
|
adb devices
|
|||
|
|
|
|||
|
|
# 如果设备未显示,尝试以下命令:
|
|||
|
|
adb kill-server
|
|||
|
|
adb start-server
|
|||
|
|
adb devices
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 启用USB调试
|
|||
|
|
1. **设置 → 关于手机 → 版本号** (连续点击7次启用开发者选项)
|
|||
|
|
2. **设置 → 开发者选项 → USB调试** (开启)
|
|||
|
|
3. **设置 → 开发者选项 → USB安装** (开启)
|
|||
|
|
|
|||
|
|
## 小米推送离线消息调试步骤
|
|||
|
|
|
|||
|
|
### 步骤1: 清除应用数据并重新安装
|
|||
|
|
```bash
|
|||
|
|
# 清除应用数据
|
|||
|
|
adb shell pm clear com.xunpaisoft.social
|
|||
|
|
|
|||
|
|
# 安装修复后的APK
|
|||
|
|
adb install -r app-release.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤2: 启动应用并监控推送注册
|
|||
|
|
```bash
|
|||
|
|
# 清除日志
|
|||
|
|
adb logcat -c
|
|||
|
|
|
|||
|
|
# 启动应用并登录,然后监控推送注册日志
|
|||
|
|
adb logcat | grep "开始初始化\|小米推送注册成功\|设备Token设置成功\|setDeviceToken"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**关键日志**:
|
|||
|
|
- `开始初始化小米推送服务` - 推送服务初始化
|
|||
|
|
- `小米推送注册成功,RegID: xxxxx` - 推送注册成功
|
|||
|
|
- `设备Token设置成功: xxxxx` - 设备Token设置成功
|
|||
|
|
|
|||
|
|
### 步骤3: 测试离线消息
|
|||
|
|
```bash
|
|||
|
|
# 完全关闭应用
|
|||
|
|
adb shell am force-stop com.xunpaisoft.social
|
|||
|
|
|
|||
|
|
# 监控推送消息日志
|
|||
|
|
adb logcat | grep "MiPush\|onNotificationMessageArrived\|onReceivePassThroughMessage\|showMainActivity\|forceConnect"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**关键日志**:
|
|||
|
|
- `onNotificationMessageArrived: xxxxx` - 通知消息到达
|
|||
|
|
- `onReceivePassThroughMessage: xxxxx` - 透传消息到达
|
|||
|
|
- `showMainActivity: started via action` - 应用启动成功
|
|||
|
|
- `forceConnect called successfully` - 消息拉取成功
|
|||
|
|
|
|||
|
|
### 步骤4: 检查系统权限
|
|||
|
|
```bash
|
|||
|
|
# 检查应用权限
|
|||
|
|
adb shell dumpsys package com.xunpaisoft.social | grep "permission"
|
|||
|
|
|
|||
|
|
# 检查推送服务状态
|
|||
|
|
adb shell dumpsys package | grep "com.xiaomi.mipush"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 调试脚本
|
|||
|
|
|
|||
|
|
### 1. 推送注册调试脚本
|
|||
|
|
```bash
|
|||
|
|
#!/bin/bash
|
|||
|
|
echo "=== 小米推送注册调试 ==="
|
|||
|
|
echo "1. 清除应用数据..."
|
|||
|
|
adb shell pm clear com.xunpaisoft.social
|
|||
|
|
|
|||
|
|
echo "2. 清除日志..."
|
|||
|
|
adb logcat -c
|
|||
|
|
|
|||
|
|
echo "3. 请启动应用并登录,然后按任意键继续..."
|
|||
|
|
read -p "按任意键继续..."
|
|||
|
|
|
|||
|
|
echo "4. 监控推送注册日志..."
|
|||
|
|
adb logcat | grep "开始初始化\|小米推送注册成功\|设备Token设置成功\|setDeviceToken"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 离线消息调试脚本
|
|||
|
|
```bash
|
|||
|
|
#!/bin/bash
|
|||
|
|
echo "=== 小米推送离线消息调试 ==="
|
|||
|
|
echo "1. 清除日志..."
|
|||
|
|
adb logcat -c
|
|||
|
|
|
|||
|
|
echo "2. 请启动应用并登录,然后按任意键继续..."
|
|||
|
|
read -p "按任意键继续..."
|
|||
|
|
|
|||
|
|
echo "3. 完全关闭应用..."
|
|||
|
|
adb shell am force-stop com.xunpaisoft.social
|
|||
|
|
|
|||
|
|
echo "4. 监控推送消息日志..."
|
|||
|
|
adb logcat | grep "MiPush\|onNotificationMessageArrived\|onReceivePassThroughMessage\|showMainActivity\|forceConnect"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 完整调试脚本
|
|||
|
|
```bash
|
|||
|
|
#!/bin/bash
|
|||
|
|
echo "=== 小米推送完整调试 ==="
|
|||
|
|
echo "1. 检查ADB连接..."
|
|||
|
|
adb devices
|
|||
|
|
|
|||
|
|
echo "2. 清除应用数据..."
|
|||
|
|
adb shell pm clear com.xunpaisoft.social
|
|||
|
|
|
|||
|
|
echo "3. 清除日志..."
|
|||
|
|
adb logcat -c
|
|||
|
|
|
|||
|
|
echo "4. 请启动应用并登录,然后按任意键继续..."
|
|||
|
|
read -p "按任意键继续..."
|
|||
|
|
|
|||
|
|
echo "5. 监控推送注册日志..."
|
|||
|
|
adb logcat | grep "开始初始化\|小米推送注册成功\|设备Token设置成功\|setDeviceToken"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 常见问题排查
|
|||
|
|
|
|||
|
|
### 问题1: ADB连接失败
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查USB线是否支持数据传输
|
|||
|
|
2. 检查USB调试是否已开启
|
|||
|
|
3. 尝试不同的USB端口
|
|||
|
|
4. 重启ADB服务
|
|||
|
|
|
|||
|
|
### 问题2: 推送注册失败
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查网络连接
|
|||
|
|
2. 检查APPID/APPKEY配置
|
|||
|
|
3. 检查应用签名
|
|||
|
|
4. 检查小米推送服务状态
|
|||
|
|
|
|||
|
|
### 问题3: 推送消息收不到
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查系统权限设置
|
|||
|
|
2. 检查电池优化设置
|
|||
|
|
3. 检查自启动权限
|
|||
|
|
4. 检查通知权限
|
|||
|
|
|
|||
|
|
### 问题4: 应用启动失败
|
|||
|
|
**解决方案**:
|
|||
|
|
1. 检查应用启动权限
|
|||
|
|
2. 检查系统限制
|
|||
|
|
3. 检查应用完整性
|
|||
|
|
4. 检查系统版本兼容性
|
|||
|
|
|
|||
|
|
## 调试技巧
|
|||
|
|
|
|||
|
|
### 1. 使用详细日志
|
|||
|
|
```bash
|
|||
|
|
adb logcat -v time | grep "MiPush\|PushService\|showMainActivity\|forceConnect"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 监控特定进程
|
|||
|
|
```bash
|
|||
|
|
adb shell ps | grep "com.xunpaisoft.social"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 检查系统状态
|
|||
|
|
```bash
|
|||
|
|
adb shell dumpsys package com.xunpaisoft.social
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 检查推送服务状态
|
|||
|
|
```bash
|
|||
|
|
adb shell dumpsys package | grep "com.xiaomi.mipush"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 预期结果
|
|||
|
|
|
|||
|
|
### 推送注册成功日志
|
|||
|
|
```
|
|||
|
|
开始初始化小米推送服务
|
|||
|
|
小米推送配置 - APPID: 2882303761520346070, APPKEY: 5522034658070
|
|||
|
|
开始注册小米推送服务
|
|||
|
|
小米推送服务注册请求已发送
|
|||
|
|
小米推送注册成功,RegID: xxxxx
|
|||
|
|
设备Token设置成功: xxxxx
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 推送消息接收日志
|
|||
|
|
```
|
|||
|
|
onNotificationMessageArrived: xxxxx
|
|||
|
|
showMainActivity: started via action
|
|||
|
|
forceConnect called successfully
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 应用启动日志
|
|||
|
|
```
|
|||
|
|
showMainActivity: started via action
|
|||
|
|
forceConnect called successfully
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **确保ADB连接稳定**: 避免调试过程中断开连接
|
|||
|
|
2. **确保应用完整**: 使用修复后的APK进行测试
|
|||
|
|
3. **确保系统权限**: 授予所有必要的系统权限
|
|||
|
|
4. **确保网络连接**: 保持设备网络连接稳定
|
|||
|
|
5. **确保推送服务**: 确保小米推送服务正常运行
|
|||
|
|
|
|||
|
|
## 联系支持
|
|||
|
|
|
|||
|
|
如果问题仍然存在,请提供以下信息:
|
|||
|
|
1. 完整的日志输出
|
|||
|
|
2. 设备型号和系统版本
|
|||
|
|
3. 应用版本信息
|
|||
|
|
4. 测试步骤和结果
|