Skip to content

常用资料

ADB 基础说明

adb 是 Android Debug Bridge 的缩写,是 Android 开发中最常用的命令行调试工具。开发 Glass3 眼镜端应用时,adb 主要用于确认设备连接、安装 APK、查看日志、重启设备,以及配合 scrcpy 投屏。

配置 ADB 环境

ADB 通常随 Android SDK Platform-Tools 一起安装。你可以通过下面两种方式获取:

安装后,需要确保命令行可以直接执行 adb

bash
adb version

如果命令行提示找不到 adb,需要将 Platform-Tools 目录加入系统环境变量 PATH。常见目录示例:

bash
# macOS 示例
~/Library/Android/sdk/platform-tools

# Windows 示例
C:\Users\<你的用户名>\AppData\Local\Android\Sdk\platform-tools

常用 ADB 命令

命令用途
adb devices查看电脑当前识别到的 Android 设备。
adb -s <设备序列号> install app.apk向指定设备安装 APK。
adb -s <设备序列号> logcat查看指定设备日志。
adb -s <设备序列号> reboot重启指定设备。
adb -s <设备序列号> shell进入指定设备的命令行环境。

当同时连接手机和眼镜时,建议先执行:

bash
adb devices

确认设备序列号后,再用 -s <设备序列号> 指定目标设备。例如:

bash
adb -s 190xxxxxxxx install glassdemo.apk

如果 adb devices 看不到眼镜设备,请优先检查:

  • 是否使用了 Glass3 数据调试线,而不是普通充电线。
  • 眼镜和电脑连接是否稳定。
  • Android Studio 或系统是否已经安装 Platform-Tools。
  • 设备是否处于可被调试识别的状态。

调试与投屏工具:scrcpy

scrcpy 是一个开源的 Android 设备投屏和控制工具。开发 Glass3 眼镜端应用时,建议配合 Glass3 数据调试线 使用,用于把眼镜画面实时投到电脑上,方便确认应用是否安装成功、页面是否正常显示、交互是否生效。

常用用途:

  • 查看眼镜端 Demo 或业务 App 的实时画面。
  • 辅助排查眼镜端页面、交互、权限弹窗和运行状态。
  • 在演示或调试时,将眼镜画面展示到电脑屏幕上。

参考地址:

使用 scrcpy 前,请先确认电脑可以通过 adb devices 识别到设备。如果眼镜只能充电但无法被 Android Studio 或 adb 识别,通常需要检查是否使用了 Glass3 数据调试线。

产品手册

灵眸产品使用手册企业版

《灵眸产品使用手册企业版.pdf》

工具脚本

以下脚本用于辅助投屏、重启和查看眼镜端运行状态。执行脚本前,请先确认 adb devices 可以识别到目标设备。

眼镜端投屏脚本

bash
#!/bin/bash
# scrcpy_auto.sh
# 简化的系统监控脚本

# 颜色定义
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
BOLD='\033[1m'

# 开始时间
START_TIME=$(date +%s)
# 计数器
COUNTER=0

DEVICE=$(adb devices | grep -E '^190[0-9a-zA-Z]+\s+device' | head -1 | awk '{print $1}')

if [ -z "$DEVICE" ]; then
    echo -e "${RED}错误: 未找到连接的设备${NC}"
    exit 1 # 退出整个脚本
fi

  
  echo -e "${GREEN}     监控设备: $DEVICE${NC}     "
  echo -e "${YELLOW}${BOLD}======================================="

scrcpy -s $DEVICE

手机端投屏脚本

bash
#!/bin/bash
# scrcpy_auto.sh
# 简化的系统监控脚本

# 颜色定义
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
BOLD='\033[1m'

# 开始时间
START_TIME=$(date +%s)
# 计数器
COUNTER=0

DEVICE=$(adb devices \
  | grep -Ev '^190[0-9a-zA-Z:]*\s+device' \
  | grep 'device$' \
  | head -1 \
  | awk '{print $1}')


if [ -z "$DEVICE" ]; then
    echo -e "${RED}错误: 未找到连接的设备${NC}"
    exit 1 # 退出整个脚本
fi

  
  echo -e "${GREEN}     监控设备: $DEVICE${NC}     "
  echo -e "${YELLOW}${BOLD}======================================="

scrcpy -s $DEVICE

眼镜端重启脚本

bash
#!/bin/bash
# scrcpy_auto.sh
# 简化的系统监控脚本

# 颜色定义
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
BOLD='\033[1m'

# 开始时间
START_TIME=$(date +%s)
# 计数器
COUNTER=0

DEVICE=$(adb devices | grep -E '^190[0-9a-zA-Z]+\s+device' | head -1 | awk '{print $1}')

if [ -z "$DEVICE" ]; then
    echo -e "${RED}错误: 未找到连接的设备${NC}"
    exit 1 # 退出整个脚本
fi

  
  echo -e "${GREEN}     重启设备: $DEVICE${NC}     "
  echo -e "${YELLOW}${BOLD}======================================="

adb -s $DEVICE  reboot

眼镜cpu与内存监控脚本

bash
#!/bin/bash
# system_monitor_simple.sh
# 简化的系统监控脚本

# 颜色定义
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
BOLD='\033[1m'

# 开始时间
START_TIME=$(date +%s)
# 计数器
COUNTER=0

# 主监控循环
while true; do
  # 自动选择190设备,如果没有则选择第一个设备
  DEVICE=$(adb devices | grep -E '^190[0-9a-zA-Z]+\s+device' | head -1 | awk '{print $1}')
  if [ -z "$DEVICE" ]; then
    DEVICE=$(adb devices | grep -E '^[0-9a-zA-Z:]+\s+device' | head -1 | awk '{print $1}')
  fi

  if [ -z "$DEVICE" ]; then
    echo -e "${RED}错误: 未找到连接的设备${NC}"
    exit 1 # 退出整个脚本
  fi

  TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

  COUNTER=$((COUNTER + 1))

  # 计算运行时长
  CURRENT_TIME=$(date +%s)
  ELAPSED_TIME=$((CURRENT_TIME - START_TIME))

  # 转换为时分秒
  HOURS=$((ELAPSED_TIME / 3600))
  MINUTES=$(((ELAPSED_TIME % 3600) / 60))
  SECONDS=$((ELAPSED_TIME % 60))

  # 1. 获取CPU温度
  CPU_TEMP_RAW=$(adb -s "$DEVICE" shell "cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null || echo '0'")
  CPU_TEMP=$((CPU_TEMP_RAW / 1000))

  # 2. 获取内存信息
  MEM_DATA=$(adb -s "$DEVICE" shell "
        mem_total=\$(grep MemTotal /proc/meminfo | awk '{print \$2}');
        mem_avail=\$(grep MemAvailable /proc/meminfo | awk '{print \$2}');
        if [ -n \"\$mem_total\" ] && [ -n \"\$mem_avail\" ]; then
            mem_usage=\$((100 - (mem_avail * 100 / mem_total)));
            echo \"\$(echo \"scale=1; \$mem_total/1024\" | bc) \$(echo \"scale=1; \$mem_avail/1024\" | bc) \$mem_usage\";
        else
            echo \"0 0 0\";
        fi
    ")

  # 解析内存数据
  read MEM_TOTAL_MB MEM_AVAIL_MB MEM_USAGE <<<"$MEM_DATA"

  # 3. 获取CPU频率
  CPU_FREQ=$(adb -s "$DEVICE" shell "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 2>/dev/null || echo '0'")
  CPU_FREQ_MHZ=$((CPU_FREQ / 1000))

  # 确定颜色
  if [ $CPU_TEMP -ge 70 ]; then
    TEMP_COLOR=$RED
    TEMP_STATUS="[危险]"
  elif [ $CPU_TEMP -ge 60 ]; then
    TEMP_COLOR=$RED
    TEMP_STATUS="[高温]"
  elif [ $CPU_TEMP -ge 50 ]; then
    TEMP_COLOR=$YELLOW
    TEMP_STATUS="[中温]"
  else
    TEMP_COLOR=$GREEN
    TEMP_STATUS="[正常]"
  fi

  if [ $(echo "$MEM_USAGE >= 90" | bc) -eq 1 ]; then
    MEM_COLOR=$RED
    MEM_STATUS="[危险]"
  elif [ $(echo "$MEM_USAGE >= 80" | bc) -eq 1 ]; then
    MEM_COLOR=$RED
    MEM_STATUS="[高负载]"
  elif [ $(echo "$MEM_USAGE >= 60" | bc) -eq 1 ]; then
    MEM_COLOR=$YELLOW
    MEM_STATUS="[中负载]"
  else
    MEM_COLOR=$GREEN
    MEM_STATUS="[正常]"
  fi

  echo -e "${PURPLE}${BOLD}======================================="
  echo -e "${PURPLE}${BOLD}     系统监控 (${TIMESTAMP})     "

  echo -e "${GREEN}     监控设备: $DEVICE${NC}     "
  echo -e "${GREEN}     第${COUNTER} 次检查  ${HOURS}小时${MINUTES}分钟${SECONDS}秒"
  echo -e "${PURPLE}${BOLD}======================================="
  echo ""

  # CPU信息
  echo -e "${CYAN}${BOLD}[CPU信息]${NC}"
  echo -e "  频率: ${GREEN}${CPU_FREQ_MHZ} MHz${NC}"
  echo -e "  温度: ${TEMP_COLOR}${CPU_TEMP}°C ${TEMP_STATUS}${NC}"
  echo ""

  # 内存信息
  echo -e "${CYAN}${BOLD}[内存信息]${NC}"
  echo -e "  使用率: ${MEM_COLOR}${MEM_USAGE}% ${MEM_STATUS}${NC}"
  echo -e "  可用内存: ${GREEN}${MEM_AVAIL_MB} MB${NC}   总内存: ${BLUE}${MEM_TOTAL_MB} MB${NC}"
  echo ""


  echo -e "${YELLOW}按 Ctrl+C 停止监控${NC}"
  echo ""

  sleep 1
done