FnOS 安装 ADB 工具完全指南📱
本文详细介绍了如何在 FnOS 系统中安装 ADB 工具,并连接小米电视进行调试的完整教程,包含丰富的 ADB 命令参考和实用技巧。
📋 目录
📖 文章简介
本指南全面介绍了在 FnOS 系统上安装 Android Debug Bridge (ADB) 工具的步骤,以及如何使用 ADB 连接和控制小米电视等 Android 设备。无论您是开发者还是普通用户,都能通过本教程学会使用 ADB 进行设备调试、文件传输和应用管理。
🌟 ADB 工具的优势
- 🔧 设备控制: 完全控制 Android 设备的各个方面
- 📁 文件管理: 轻松在设备和电脑间传输文件
- 📊 应用调试: 安装、卸载和调试应用程序
- 🎮 输入模拟: 模拟触摸、按键和其他输入操作
- 📝 日志分析: 查看和分析系统日志,排查问题
🎯 适用场景
- 小米电视等 Android TV 设备的调试和管理
- 无触摸屏设备的远程控制
- 批量应用安装和卸载
- 系统日志分析和故障排查
- 自动化脚本执行
步骤 1:安装必要的下载和解压工具 🛠️
如果系统中没有 wget(下载工具)和 unzip(解压工具),先安装它们:
1
2
3
4
5
6
7
|
# 更新包列表并安装必要工具
sudo apt-get update
sudo apt-get install wget unzip -y
# 验证工具安装
which wget && echo "✅ wget 已安装" || echo "❌ wget 安装失败"
which unzip && echo "✅ unzip 已安装" || echo "❌ unzip 安装失败"
|
步骤 2:下载官方工具包 📦
从 Google 官网下载最新的 Linux 版本 Android 平台工具:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 创建下载目录
mkdir -p ~/Downloads/platform-tools
cd ~/Downloads/platform-tools
# 从 Google 官方下载
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
# 如果下载速度慢,可替换为国内镜像(如清华大学镜像)
# wget https://mirrors.tuna.tsinghua.edu.cn/android/repository/platform-tools-latest-linux.zip
# 验证下载完整性
if [ -f platform-tools-latest-linux.zip ]; then
echo "✅ 下载成功,文件大小: $(du -h platform-tools-latest-linux.zip | cut -f1)"
else
echo "❌ 下载失败,请检查网络连接"
exit 1
fi
|
步骤 3:解压到系统目录 📂
将下载的压缩包解压到 /usr/local/
(系统级目录,所有用户可访问):
1
2
3
4
5
6
7
8
9
10
11
|
# 解压到系统目录
sudo unzip platform-tools-latest-linux.zip -d /usr/local/
# 验证解压结果
if [ -d "/usr/local/platform-tools" ]; then
echo "✅ 解压成功,平台工具已安装到 /usr/local/platform-tools"
ls -la /usr/local/platform-tools/
else
echo "❌ 解压失败"
exit 1
fi
|
解压后会在 /usr/local/
下生成 platform-tools
文件夹,包含 adb、fastboot 等工具。
步骤 4:配置环境变量(永久生效) ⚙️
将工具路径添加到系统环境变量,确保任何终端都能直接调用 adb 命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 检测当前使用的shell
CURRENT_SHELL=$(basename "$SHELL")
# 根据不同的shell配置环境变量
if [ "$CURRENT_SHELL" = "bash" ]; then
echo 'export PATH=$PATH:/usr/local/platform-tools' >> ~/.bashrc
source ~/.bashrc
echo "✅ 已配置 Bash 环境变量"
elif [ "$CURRENT_SHELL" = "zsh" ]; then
echo 'export PATH=$PATH:/usr/local/platform-tools' >> ~/.zshrc
source ~/.zshrc
echo "✅ 已配置 Zsh 环境变量"
else
echo "⚠️ 无法识别 shell 类型,请手动添加以下到您的 shell 配置:"
echo "export PATH=\$PATH:/usr/local/platform-tools"
fi
# 也可添加到全局配置文件,确保所有用户都能使用
echo 'export PATH=$PATH:/usr/local/platform-tools' | sudo tee -a /etc/profile.d/platform-tools.sh
sudo chmod +x /etc/profile.d/platform-tools.sh
|
步骤 5:验证安装是否成功 ✅
执行以下命令检查 adb 版本,确认安装成功:
1
2
3
4
5
6
7
8
9
|
# 检查 adb 版本
adb --version
# 检查 fastboot 版本
fastboot --version
# 验证工具是否在 PATH 中
which adb && echo "✅ ADB 安装成功" || echo "❌ ADB 安装失败"
which fastboot && echo "✅ Fastboot 安装成功" || echo "❌ Fastboot 安装失败"
|
若输出类似以下信息,说明安装成功:
1
2
3
|
Android Debug Bridge version 1.0.41
Version 34.0.4-10411341
Installed as /usr/local/platform-tools/adb
|
🔄 后续使用
安装完成后,即可正常使用 adb 相关命令,例如:
1
2
3
4
5
6
7
8
|
# 查看连接设备
adb devices
# 安装 APK
adb install /path/to/your/app.apk
# 进入设备 Shell
adb shell
|
📺 二、连接电视 ADB
步骤 1:开启小米电视的「开发者选项」和「ADB 调试」 🔓
- 打开小米电视,进入「设置」→「关于」→「产品型号」
- 连续快速点击「产品型号」7-10 次,直到提示「已进入开发者模式」
- 返回「设置」,找到并进入「账号与安全」(或「开发者选项」,不同型号位置可能不同)
- 开启「ADB 调试」和「允许通过网络调试」(部分型号可能显示为「USB 调试」,需一并开启)
💡 提示: 不同小米电视型号的菜单可能略有不同,如果找不到相关选项,请查阅您的电视型号的具体说明。
步骤 2:获取小米电视的 IP 地址 🌐
- 进入小米电视「设置」→「网络」→「有线网络」或「无线网络」
- 查看并记录电视的 IP 地址(例如:
192.168.1.100
)
或者使用以下方法查找电视 IP:
1
2
3
4
5
6
|
# 扫描局域网中的设备(需要安装 nmap)
sudo apt install nmap -y
nmap -sn 192.168.1.0/24 | grep -i "xiaomi"
# 或者使用 arp 扫描
arp -a | grep -i "xiaomi"
|
步骤 3:通过 ADB 连接电视 🔌
在电脑上打开终端,输入以下命令连接电视(将 电视IP
替换为实际地址):
1
2
3
4
5
|
# 连接电视(默认端口 5555)
adb connect 电视IP:5555
# 示例
adb connect 10.10.10.15:5555
|
首次连接时,电视上会弹出「允许调试」的对话框,勾选「始终允许此计算机」,然后点击「确定」
验证连接是否成功:
若输出类似以下内容,说明连接成功:
1
2
|
List of devices attached
192.168.1.100:5555 device
|
🔧 高级连接选项
1
2
3
4
5
6
7
8
9
10
11
12
|
# 使用不同端口连接(如果电视使用了非标准端口)
adb connect 电视IP:端口号
# 断开连接
adb disconnect 电视IP:5555
# 重启 ADB 服务
adb kill-server && adb start-server
# 无线调试(Android 11+)
# 先在电视上启用无线调试,然后配对
adb pair 电视IP:端口
|
🎮 三、常用的 ADB 命令
适用于调试、管理 Android 设备(包括小米电视等):
1、设备管理 📱
1
2
|
adb connect 电视IP:5555
adb devices # 验证连接是否成功
|
1
2
|
adb disconnect 电视IP:5555 # 断开指定设备
adb disconnect # 断开所有设备
|
1
2
3
|
adb reboot # 正常重启
adb reboot recovery # 重启进入 Recovery 模式
adb reboot bootloader # 重启进入 Fastboot 模式
|
1
2
3
4
5
|
adb shell getprop # 查看设备所有属性(型号、系统版本等)
adb shell getprop ro.product.model # 查看设备型号
adb shell getprop ro.build.version.release # 查看 Android 系统版本
adb shell wm size # 查看屏幕分辨率
adb shell wm density # 查看屏幕密度
|
2、文件传输 📂
1
|
adb push /本地文件路径 /设备目标路径
|
示例:将电脑的 test.txt 传到电视的 Downloads 目录
1
|
adb push ~/test.txt /sdcard/Download/
|
1
|
adb pull /设备文件路径 /本地目标路径
|
示例:将电视的日志文件拉到电脑桌面
1
|
adb pull /sdcard/log.txt ~/Desktop/
|
1
2
3
|
adb shell ls /sdcard/ # 列出 SD 卡根目录文件
adb shell cd /system/ && ls # 进入系统目录并查看文件
adb shell df -h # 查看存储空间使用情况
|
3、应用管理 📦
1
2
3
|
adb install /path/to/your/app.apk # 普通安装
adb install -r /path/to/your/app.apk # 重新安装保留数据
adb install -s /path/to/your/app.apk # 安装到SD卡
|
1
2
|
adb uninstall 包名 # 普通卸载
adb uninstall -k 包名 # 卸载但保留数据和缓存
|
示例:卸载系统预装浏览器(需 root 权限)
1
|
adb uninstall com.android.browser
|
1
|
adb shell am force-stop 包名
|
示例:强制停止小米视频
1
|
adb shell am force-stop com.miui.video
|
示例:清除浏览器数据
1
|
adb shell pm clear com.android.browser
|
1
2
3
4
|
adb shell pm list packages # 列出所有应用包名
adb shell pm list packages -3 # 只列出第三方应用
adb shell pm list packages | grep "miui" # 筛选包含"miui"的系统应用
adb shell pm list packages -f # 显示包名和对应APK路径
|
1
|
adb shell am start -n 包名/活动名
|
示例:启动设置
1
|
adb shell am start -n com.android.settings/.Settings
|
4、屏幕与输入控制 🎯
1
|
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ~/Desktop/
|
- 录制屏幕(默认保存为 mp4,按 Ctrl+C 停止):
1
|
adb shell screenrecord /sdcard/record.mp4
|
录制完成后拉到电脑
1
|
adb pull /sdcard/record.mp4 ~/Desktop/
|
1
2
3
4
5
6
7
8
9
10
11
|
adb shell input keyevent 3 # Home 键
adb shell input keyevent 4 # 返回键
adb shell input keyevent 19 # 上方向键
adb shell input keyevent 20 # 下方向键
adb shell input keyevent 21 # 左方向键
adb shell input keyevent 22 # 右方向键
adb shell input keyevent 66 # 确认键(Enter)
adb shell input keyevent 26 # 电源键(锁屏/唤醒)
adb shell input keyevent 24 # 音量+
adb shell input keyevent 25 # 音量-
adb shell input keyevent 85 # 播放/暂停
|
1
2
3
|
adb shell input tap x y # 点击屏幕坐标(x,y)
adb shell input swipe x1 y1 x2 y2 # 从(x1,y1)滑动到(x2,y2)
adb shell input swipe x1 y1 x2 y2 持续时间 # 指定滑动持续时间(ms)
|
1
|
adb shell input text "要输入的文本"
|
5、日志与调试 📝
1
2
3
4
|
adb logcat # 显示所有日志(按 Ctrl+C 停止)
adb logcat *:E # 只显示错误级别日志
adb logcat | grep "关键词" # 筛选包含关键词的日志
adb logcat -c # 清除日志缓冲区
|
1
|
adb logcat -b crash # 查看崩溃日志
|
1
2
3
4
|
adb shell top # 实时查看进程资源占用(类似 Linux top 命令)
adb shell dumpsys meminfo 包名 # 查看指定应用内存使用
adb shell dumpsys cpuinfo # 查看CPU使用情况
adb shell dumpsys battery # 查看电池信息
|
1
2
3
|
adb shell ps # 查看进程列表
adb shell netstat # 查看网络连接
adb shell vmstat 1 # 每秒显示一次虚拟内存统计
|
6、网络调试 🌐
1
2
3
|
adb shell ifconfig # 查看网络接口信息(类似 Linux ifconfig)
adb shell netstat # 查看网络连接状态
adb shell ip addr show # 显示IP地址信息
|
1
2
|
adb shell ping 8.8.8.8 # 测试设备是否能访问谷歌 DNS
adb shell ping www.baidu.com # 测试设备是否能访问百度
|
1
|
adb forward tcp:本地端口 tcp:设备端口 # 将本地端口转发到设备
|
示例:将本地8080端口转发到设备的8080端口
1
|
adb forward tcp:8080 tcp:8080
|
⚙️ 四、高级配置与技巧
🔧 ADB 配置优化
1
2
3
4
5
6
7
8
9
10
|
# 创建 ADB 配置目录
mkdir -p ~/.android
# 配置 ADB 选项
echo "adb --version" >> ~/.bashrc
echo "alias adbl='adb logcat | grep -i \"error\\|exception\"'" >> ~/.bashrc
# 启用 ADB 无线调试(Android 11+)
echo "export ADB_IP=192.168.1.100" >> ~/.bashrc
echo "alias adbw='adb connect \$ADB_IP:5555'" >> ~/.bashrc
|
📋 常用脚本示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/bin/bash
# 批量安装APK脚本
APK_DIR="/path/to/apk/folder"
for apk in "$APK_DIR"/*.apk; do
echo "正在安装: $(basename "$apk")"
adb install "$apk"
if [ $? -eq 0 ]; then
echo "✅ 安装成功: $(basename "$apk")"
else
echo "❌ 安装失败: $(basename "$apk")"
fi
done
|
1
2
3
4
5
6
7
8
|
#!/bin/bash
# 屏幕截图并自动拉取脚本
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
adb shell screencap -p /sdcard/screenshot_$TIMESTAMP.png
adb pull /sdcard/screenshot_$TIMESTAMP.png ~/Pictures/
adb shell rm /sdcard/screenshot_$TIMESTAMP.png
echo "截图已保存: ~/Pictures/screenshot_$TIMESTAMP.png"
|
🎯 电视特定命令
1
2
3
4
5
6
7
8
9
|
# 电视电源管理
adb shell input keyevent 26 # 电源键
adb shell input keyevent 223 # 休眠
adb shell input keyevent 224 # 唤醒
# 电视特定功能
adb shell input keyevent 183 # 录制屏幕
adb shell input keyevent 177 # 书签
adb shell input keyevent 175 # 媒体播放
|
🚨 五、故障排除
🔍 常见问题及解决方案
-
ADB 设备未授权
1
2
3
4
|
# 解决方案:重启ADB服务并重新连接
adb kill-server
adb start-server
adb connect 电视IP:5555
|
-
连接被拒绝
1
2
3
4
|
# 确保电视已开启ADB调试
# 检查防火墙设置
sudo ufw status
sudo ufw allow out 5555/tcp
|
-
设备离线
1
2
3
|
# 重新连接设备
adb disconnect
adb connect 电视IP:5555
|
-
ADB 命令找不到
1
2
3
4
|
# 检查环境变量配置
echo $PATH
# 重新配置环境变量
export PATH=$PATH:/usr/local/platform-tools
|
-
安装应用失败
1
2
|
# 尝试使用不同的安装选项
adb install -r -g 应用.apk
|
📊 调试技巧
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 查看详细的ADB调试信息
adb -d logcat # 使用设备日志
adb -e logcat # 使用模拟器日志
# 检查设备状态
adb get-state
adb get-serialno
# 查看ADB版本
adb version
# 重启ADB守护进程
adb usb # 切换回USB模式
adb tcpip 5555 # 切换回TCP/IP模式
|
💡 六、最佳实践
🛡️ 安全建议
- 仅连接可信设备: 只在家庭网络或可信网络中使用ADB over TCP/IP
- 使用后关闭网络调试: 完成调试后,关闭电视的ADB网络调试功能
- 定期更新工具: 保持platform-tools为最新版本
- 谨慎使用root命令: 避免对系统造成不可逆的修改
📈 性能优化
- 使用批处理脚本: 将常用命令组合成脚本提高效率
- 合理使用日志过滤: 使用grep过滤日志,减少不必要的信息
- 优化文件传输: 大文件传输前先压缩,传输后解压
- 定期清理: 清理不再需要的应用和文件
🔄 自动化工作流
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/bin/bash
# 自动化电视设置脚本
echo "开始自动化电视设置..."
# 连接电视
adb connect $TV_IP:5555
# 安装必备应用
for app in "${APPS[@]}"; do
adb install $app
done
# 配置初始设置
adb shell settings put global stay_on_while_plugged_in 3
adb shell settings put system screen_off_timeout 600000
# 禁用不需要的系统应用
for package in "${PACKAGES_TO_DISABLE[@]}"; do
adb shell pm disable-user --user 0 $package
done
echo "电视设置完成!"
|
📚 学习资源
🎯 提示: ADB 是一个功能强大的工具,但使用不当可能会对设备造成损害。请确保您了解每个命令的作用后再执行,特别是在生产设备上。
🔧 扩展功能: 考虑使用图形化ADB工具如
scrcpy
或
QtScrcpy
来增强您的调试体验。
希望本指南能帮助您充分利用ADB工具管理和调试您的小米电视!📺✨