借助gemini解决Android Studio使用华为mate60进行真机模拟的问题
设备成功连接后,点击“运行”按钮,弹出 "Edit Configuration" 对话框,底部显示红色错误 "Error: Please select Android SDK"。项目编译成功,但在部署到手机上尝试启动时,IDE 弹出错误 "Error running 'app': Default Activity not found"。手机通过 USB 连接电脑后,在设备管理器中显示为未知设备,A
问题一:华为设备 ADB 驱动无法识别
现象 (Symptom)
手机通过 USB 连接电脑后,在设备管理器中显示为未知设备,Android Studio 无法识别到设备。用户提供了设备的硬件 ID,如 USB\VID_12D1&PID_107E&MI_00。
原因分析 (Cause Analysis)
Windows 系统需要正确的驱动程序才能与安卓设备通过 ADB (Android Debug Bridge) 协议通信。Google 官方提供的 USB 驱动文件 (android_winusb.inf) 默认不包含所有手机厂商的硬件信息,尤其是华为等特定厂商的设备。我们需要手动将设备的硬件 ID 添加到驱动的 .inf 配置文件中。
解决方案 (Solution)
- 定位驱动文件:找到 Google USB 驱动文件夹,其中的核心配置文件是
android_winusb.inf。 - 编辑
.inf文件:使用文本编辑器打开该文件。 - 添加硬件 ID:在
[Google.NTx86]和[Google.NTamd64]两个区域下,分别添加新的硬件ID条目。这样做是为了同时兼容 32 位和 64 位系统。- 选择
USB\VID_12D1&PID_107E&MI_00作为硬件 ID,因为它比包含REV(修订号)的版本更具通用性,能适应固件更新。 - 添加的行如下: Code snippet
;Huawei Mate 60 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_107E&MI_00
- 选择
- 保存文件。
问题二:修改后的驱动因签名问题安装失败
现象 (Symptom)
在设备管理器中手动更新驱动,并指向修改后的 .inf 文件时,安装失败。Windows 提示错误:“文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡改。”
原因分析 (Cause Analysis)
手动编辑 .inf 文件破坏了驱动包原有的数字签名。现代 Windows 系统(特别是 64 位版本)默认开启了 “驱动程序强制签名” (Driver Signature Enforcement) 安全策略,禁止安装任何没有有效签名的驱动程序,以防止恶意软件。
解决方案 (Solution)
需要临时禁用该安全策略,以便安装我们修改过的无签名驱动。
- 进入高级启动:通过
设置>更新和安全>恢复>高级启动>立即重新启动。 - 导航菜单:在重启后的蓝色菜单中,依次选择
疑难解答>高级选项>启动设置,然后点击重新启动。 - 禁用强制签名:在第二次重启后出现的启动选项列表中,按键盘上的数字键
7或F7来选择 “禁用驱动程序强制签名”。 - 安装驱动:在本次启动中,系统将允许安装无签名的驱动。此时再次进入设备管理器,重复更新驱动的步骤,即可成功安装。
- 重启恢复:驱动安装成功后,正常重启电脑,驱动强制签名策略会自动恢复,但已安装的驱动会继续正常工作。
问题三:项目无法运行,提示 "Please select Android SDK"
现象 (Symptom)
设备成功连接后,点击“运行”按钮,弹出 "Edit Configuration" 对话框,底部显示红色错误 "Error: Please select Android SDK"。
原因分析 (Cause Analysis)
此错误说明 Android Studio 项目没有配置或关联到任何一个有效的 Android SDK(软件开发工具包)。IDE 不知道该使用哪个版本的工具链来编译和打包应用。
解决方案 (Solution)
- 打开项目结构:进入
File>Project Structure...。 - 设置 SDK 路径:在左侧选择
SDK Location。确保 Android SDK location 字段指向了您电脑上 SDK 的正确安装路径(如C:\Users\YourUser\AppData\Local\Android\Sdk)。 - 检查 SDK 平台(如果路径正确但问题依旧):关闭项目结构,打开
Tools>SDK Manager。在SDK Platforms标签页下,确保至少有一个 API 版本的平台处于 "Installed" (已安装) 状态。
问题四:编译错误 compileSdkVersion to 30 or above
现象 (Symptom)
项目同步或编译时,在 Build 输出窗口看到错误:"In order to compile Java 9+ source, please set compileSdkVersion to 30 or above"。
原因分析 (Cause Analysis)
项目配置使用了较新的 Java 语言版本(如 Java 11),但 build.gradle 文件中指定的 compileSdk(编译所用的 SDK 版本)过低,无法支持这些新语言特性。此外,安卓开发有一条最佳实践:compileSdk 的版本应大于或等于 targetSdk 的版本。
解决方案 (Solution)
- 定位配置文件:在项目视图中,展开
Gradle Scripts,打开build.gradle (Module :app)或build.gradle.kts (Module :app)文件。 - 修改版本号:在
android { ... }代码块内,找到compileSdk这一行,将其值修改为一个更高的版本,推荐直接与targetSdk的值保持一致或使用最新的稳定版(如34或35)。 Groovy// 示例 android { compileSdk 35 // 修改这里 defaultConfig { targetSdk 35 // ... } // ... } - 同步项目:修改文件后,点击文件编辑器顶部出现的 "Sync Now" 链接,或点击工具栏上的同步图标。
问题五:运行错误 "Default Activity not found"
现象 (Symptom)
项目编译成功,但在部署到手机上尝试启动时,IDE 弹出错误 "Error running 'app': Default Activity not found"。
原因分析 (Cause Analysis)
应用成功安装,但 Android 系统不知道应该启动哪一个页面(Activity)作为程序的入口。这个配置是在 AndroidManifest.xml 文件中通过一个特殊的 意图过滤器 (Intent Filter) 来声明的。
解决方案 (Solution)
-
定位清单文件:打开
app>manifests>AndroidManifest.xml。 -
修改主 Activity:找到你希望作为应用启动页的
<activity>标签。 -
添加 Intent Filter:在该
<activity>标签内部,添加以下<intent-filter>代码块。 -
设置
XMLexported属性:同时,必须将该<activity>的android:exported属性设置为true,以允许外部应用(如系统桌面)启动它。<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> -
1重新运行应用。
问题六:无法找到 "Sync Now" 按钮
现象 (Symptom)
被告知要点击 "Sync Now" 按钮,但用户不确定其位置。
原因分析 (Cause Analysis)
用户不熟悉 IDE 界面,或不同版本的 Android Studio 图标有所变化,导致描述与实际不符。
解决方案 (Solution)
从左往右第5个

更多推荐



所有评论(0)