You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic 3执行ionic cordova run android时Android模拟器未启动且报Gradle错误

解决Ionic Cordova运行Android时Gradle缺失与模拟器未启动问题

问题场景

当执行ionic cordova run android命令时,系统提示Android Studio project detected,同时抛出Gradle缺失的错误:

Android Studio project detected
ANDROID_HOME=D:\SDK JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161 studio (node:1072) UnhandledPromiseRejectionWarning: CordovaError: Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio at Object.module.exports.check_gradle (D:\ionic apps\dummyapp\platforms\android\cordova\lib\check_reqs.js:150:18) at StudioBuilder.prepEnv (D:\ionic apps\dummyapp\platforms\android\cordova\lib\builders\StudioBuilder.js:216:23) at Api.module.exports.run (D:\ionic apps\dummyapp\platforms\android\cordova\lib\build.js:154:20) at D:\ionic apps\dummyapp\platforms\android\cordova\Api.js:342:43 at _fulfilled (D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:854:54) at self.promiseDispatch.done (D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:883:30) at Promise.promise.promiseDispatch (D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:816:13) at D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:624:44 at runSingle (D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:137:13) at flush (D:\ionic apps\dummyapp\platforms\android\cordova\node_modules\q\q.js:125:13) (node:1072) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:1072) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

随后控制台显示看似成功的信息,但Android模拟器并未启动:

[OK] Your app has been deployed. Did you know you can live-reload changes from your app with --livereload?
[16:09:09] lint finished in 2.80 s
D:\ionic apps\dummyapp>

解决方案

别担心,这个问题的核心是Gradle未被系统正确识别,控制台的“部署成功”只是个误导性提示,实际构建流程没走完,所以模拟器没启动。咱们一步步来修复:

1. 解决Gradle缺失问题

有两种靠谱的方式来处理:

  • 通过Android Studio自动管理Gradle
    打开Android Studio,进入File > Settings(Windows/Linux)或Android Studio > Settings(Mac),找到Build, Execution, Deployment > Build Tools > Gradle。选择Use Gradle from: Gradle wrapper,然后重新执行ionic cordova run android——Cordova会自动下载项目所需的Gradle版本并配置好,不用手动折腾环境变量。
  • 手动安装Gradle并配置环境变量
    1. 先查看项目所需的Gradle版本:打开项目根目录下的gradle/wrapper/gradle-wrapper.properties,找到distributionUrl里的版本号(比如gradle-7.4-all.zip)。
    2. 下载对应版本的Gradle,解压到本地固定路径(比如D:\Gradle\gradle-7.4)。
    3. 配置系统环境变量:新增GRADLE_HOME变量,值为解压后的Gradle根路径;然后把%GRADLE_HOME%\bin添加到Path变量中。
    4. 打开新的命令行窗口,输入gradle -v,如果能显示版本信息,说明配置成功。

2. 验证Android环境变量配置

虽然你的ANDROID_HOME和JAVA_HOME路径看起来是对的,但还是要检查这几点:

  • 确保ANDROID_HOME指向的是Android SDK的根目录,路径下要有platforms、tools、platform-tools这些文件夹。
  • 把%ANDROID_HOME%\tools和%ANDROID_HOME%\platform-tools添加到系统Path变量中,这样adb等工具才能被全局调用。
  • 确认JAVA_HOME指向的是JDK 8的路径(你当前的jdk1.8.0_161符合要求,Cordova对JDK版本有严格要求,别用更高版本)。

3. 修复模拟器未启动问题

当Gradle问题解决后,再处理模拟器的问题:

  • 先手动启动模拟器:打开Android Studio的AVD Manager,选择你创建的模拟器,点击启动按钮,确认模拟器能正常打开。如果启动失败,检查模拟器的系统镜像是否完整,或者重新创建一个模拟器。
  • 执行命令时指定模拟器:用ionic cordova run android --emulator命令,强制让Cordova把应用部署到模拟器上。
  • 检查adb连接:打开命令行输入adb devices,如果模拟器显示在列表里,说明连接正常;如果没显示,执行adb kill-server再adb start-server重启adb服务。
  • 先构建再运行:先执行ionic cordova build android,确认构建成功后,再执行ionic cordova run android,这样能排除构建过程中的干扰。

内容的提问来源于stack exchange,提问作者user9705886

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:35:05