解决小米、红米及其他 Android 手机无法在 Mac 下进行真机调试

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:
在 Mac OSX 下做 Android 真机测试的时候,发现 Android Device Chooser 里,小米手机的状态显示为 unknown。但是手机的 USB 调试已经打开了。难道是因为驱动的问题?然而小米并没有提供 Mac 下的驱动程序。
注:小米手机打开 USB 调试模式的方法——在“关于手机”里,连续点击“Android 版本”四次,然后回到上一级,“关于手机”上面就出现了“开发者选项”
其实在 Linux 和 Mac 上是不需要安装驱动的,只要让 ADB 能够识别小米手机的 USB Vendor ID 即可。
解决办法:
1、配置 Android 开发环境。最好直接去 Android 官网下载一个集成的 ADT(Android Developer Tools) 工具即可,解压缩以后 Eclipse 和 SDK 都有了。
记得配置 ~/.bash_profile,请自行搜索相关资料。
2、查找设备的厂商号(Vendor ID)。点击屏幕左上角苹果标志->关于本机->更多信息->系统报告,在左侧列表选择 USB,就能看到对应的 USB 设备厂商号。
找到其中的类似于“HM1 Android Phone”的东东(不同设备略有不同,自己摸索吧),点击在下方看详细信息,如图:
其中的厂商 ID 就是我们需要的,小米1的一般是 0x18dl,小米 2 以后 和 红米应该是 0x2717。
3、执行命令
[color=rgb(88, 110, 117) !important]1 echo "0x2717" >> ~/.android/adb_usb.ini

4、重启 ADB。如果配置了 adb 的环境,就直接执行
[color=rgb(88, 110, 117) !important]1[color=rgb(88, 110, 117) !important]2 adb kill-serveradb start-server

如果没有,就要进入 Android SDK 目录下的 platform-tools 去执行(早期的 Android SDK 版本,可能在 tools 目录下):
[color=rgb(88, 110, 117) !important]1[color=rgb(88, 110, 117) !important]2 ./adb kill-server./adb start-server

成功后应该能看见提示:
[color=rgb(88, 110, 117) !important]1[color=rgb(88, 110, 117) !important]2 * daemon not running. starting it now on port 5037 ** daemon started successfully *

如果遇到错误:
[color=rgb(88, 110, 117) !important]1[color=rgb(88, 110, 117) !important]2[color=rgb(88, 110, 117) !important]3 can't bind 'tcp:5037', ADB server didn't ACK*faild to start daemon *

就将 5037 端口的进程杀掉重启就可以了,实在不行就重启一下电脑。
最后拔掉手机重新连接一下,手机会提示是否允许连接这台电脑进行 USB 调试,确定后应该就可以了。
相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
1月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
60 4
|
1月前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
72 3
|
2月前
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
166 2
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
2月前
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
99 2
|
2月前
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
4月前
|
Android开发 Windows
mac下Android Studio 快捷键(持续更新)
mac下Android Studio 快捷键(持续更新)
405 1
|
4月前
|
移动开发 JavaScript 开发工具
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
|
4月前
|
Android开发
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
|
5月前
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;
|
4月前
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。