命令失败:gradlew.bat installDebug

Posted

技术标签:

【中文标题】命令失败:gradlew.bat installDebug【英文标题】:Command failed: gradlew.bat installDebug 【发布时间】:2019-07-13 14:06:21 【问题描述】:

在开发应用程序时,我遇到了以下错误。我尝试将 java 版本从 11 降级到 8,但这没有帮助。

FAILURE: Build failed with an exception.

* What went wrong:
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
> Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
Could not install the app on the device, read the error above for details.
Make sure you have an android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html

Command failed: gradlew.bat installDebug

Error: Command failed: gradlew.bat installDebug
    at checkExecSyncError (child_process.js:616:11)
    at Object.execFileSync (child_process.js:634:13)
    at runOnAllDevices (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:299:19)
    at buildAndRun (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:135:12)
    at isPackagerRunning.then.result (C:\Users\samie\Documents\React Native\auth\node_modules\react-native\local-cli\runAndroid\runAndroid.js:65:12)
    at process._tickCallback (internal/process/next_tick.js:68:7)

【问题讨论】:

【参考方案1】:

我是如何解决这个问题的:

首先,确保我设置了 %java_home% 变量,并且 %path% 包含了 java sdk。 How to setup Java environment variables

其次,转到您的 android 文件夹并运行以下命令:

C:\Projects\myproject\android>gradlew.bat app:installDebug.

解压 C:\Users\codeb.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2-all.zip 到 C:\Users\codeb.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv 线程“主”java.util.zip.ZipException 中的异常:错误 打开 zip 文件 在 java.util.zip.ZipFile.open(本机方法) 在 java.util.zip.ZipFile.(ZipFile.java:225) 在 java.util.zip.ZipFile.(ZipFile.java:155) 在 java.util.zip.ZipFile.(ZipFile.java:169) 在 org.gradle.wrapper.Install.unzip(Install.java:215) 在 org.gradle.wrapper.Install.access 600 美元(Install.java:27) 在 org.gradle.wrapper.Install$1.call(Install.java:75) 在 org.gradle.wrapper.Install$1.call(Install.java:48) 在 org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) 在 org.gradle.wrapper.Install.createDist(Install.java:48) 在 org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

如您所见,我的 gradle 下载已损坏。您所要做的就是删除此文件夹并重新运行命令。

C:\Projects\myproject\android>gradlew.bat app:installDebug

正在下载 https://services.gradle.org/distributions/gradle-4.10.2-all.zip ..................................................... ..................................................... ............ 解压 C:\Users\codeb.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2-all.zip 到 C:\Users\codeb.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv

欢迎使用 Gradle 4.10.2!

以下是此版本的亮点: - 默认情况下增量 Java 编译 - 定期 Gradle 缓存清理 - Gradle Kotlin DSL 1.0-RC6 - 嵌套包含的构建 - plugins 块中的 SNAPSHOT 插件版本

更多详情见https://docs.gradle.org/4.10.2/release-notes.html

现在,你可以回到你的 react native 项目并运行

react-native run-android

信息 JS 服务器已经在运行。 info 构建和安装应用程序 在设备上(cd android && gradlew.bat app:installDebug)...

任务:app:installDebug 01:03:18 V/ddms: 执行: 运行 am get-config 01:03:18 V/ddms: 在 'emulator-5554' 上执行 'am get-config' : EOF 命中。读取:-1 01:03:18 V/ddms:执行:返回安装 APK 'Pixel_2_API_28(AVD) - 9' 上的'app-debug.apk' 应用程序:调试 01:03:18 D/app-debug.apk:将 app-debug.apk 上传到设备 'emulator-5554' 01:03:18 D/设备:将文件上传到设备'emulator-5554' 01:03:18 D/ddms:读取文件的权限 C:\Projects\xx\android\app\build\outputs\apk\debug\app-debug.apk 如:rwx------ 01:03:18 V/ddms:执行:运行 pm install -r -t "/data/local/tmp/app-debug.apk" 01:03:19 V/ddms: 执行'pm install -r -t "/data/local/tmp/app-debug.apk"' on 'emulator-5554':EOF 命中。读取:-1 01:03:19 V/ddms:执行:返回 01:03:19 V/ddms:执行: 运行 rm "/data/local/tmp/app-debug.apk" 01:03:19 V/ddms: 执行 'emulator-5554' 上的 'rm "/data/local/tmp/app-debug.apk"' :EOF 命中。 读取:-1 01:03:19 V/ddms:执行:返回安装在 1 个设备上。

在 9 秒内构建成功 27 个可操作的任务:1 个已执行,26 个是最新的 信息运行 C:\Users\codeb\AppData\Local\Android\Sdk/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081 info 启动应用程序 模拟器-5554 (C:\Users\codeb\AppData\Local\Android\Sdk/platform-tools/adb -s emulator-5554 shell am start -n com.myproject/com.myproject.MainActivity)... 开始: 意图 cmp=com.myproject/.MainActivity

【讨论】:

我忘了安装jdk 如果这个答案仍然无法解决您的错误,请尝试:***.com/a/63989207/11322237【参考方案2】:

尝试在您的项目文件中运行此命令

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res 

之后

cd (path to project/android folder) && gradlew clean && cd .. && react-native run-android

在运行 react-native-run-android 之前总是 gradlew clean 上面的命令基本上清理了 gradle 和以前的构建。

ENOENT 错误 检查$ yarn start 是否有效。 Metro bundler 无法为我在 8081 端口上运行,我需要运行 $ killall node

编辑:

同时更新gradle-wrapper.properties 添加

distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip

build.gradle中删除以下代码:

task wrapper(type: Wrapper) 
   gradleVersion = '5.2.1'
   distributionUrl = distributionUrl.replace("bin", "all")

之后

cd (path to project/android folder) && gradlew clean && cd .. && react-native run-android

在运行 react-native-run-android 之前总是 gradlew clean 上面的命令基本上会清理 gradle 和以前的构建。

你可以走了!

【讨论】:

在第一步之后,我得到了这个错误:加载依赖图,完成。正在加载依赖关系图...bundle:将 bundle 输出写入:android/app/src/main/assets/index.android.bundle ENOENT:没有这样的文件或目录,打开 'C:\Users\samie\Documents\React Native\ auth\android\app\src\main\assets\index.android.bundle' 错误:ENOENT:没有这样的文件或目录,打开 'C:\Users\samie\Documents\React Native\auth\android\app\src\ main\assets\index.android.bundle' for ENOENT 错误 检查 $ yarn start 是否有效。 Metro bundler 无法为我在 8081 端口上运行,我需要运行 $ killall node【参考方案3】:

只需运行sudo react-native run-android,它就会为您构建并安装 ./gradlew app:installDebug 在 android 目录中。

【讨论】:

【参考方案4】:

我也遇到了这个问题,我可以通过使用以下命令在 react-native 0.57.3 中创建一个新项目来解决它: react-native init --version="0.57.3" MyNewApp

【讨论】:

【参考方案5】:

您必须更新 gradle-wrapper.properties 文件才能使用最新版本的 gradle:

 distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip

并从 build.gradle 文件中删除此块:

task wrapper(type: Wrapper) 
   gradleVersion = '5.2.1'
   distributionUrl = distributionUrl.replace("bin", "all")

然后在 android 文件夹上运行 gradlew clean,一切都会正常。

【讨论】:

【参考方案6】:

我也遇到了这个问题,我可以通过在 android 文件夹中运行 ./gradlew app:installDebug 来修复它。

【讨论】:

【参考方案7】:

我自己也遇到过这个问题,在我卸载并重新安装 android studio 和 gradle 后它最终消失了,但你可以先尝试其他一些方法

1:在环境变量中设置 GRADLE_USER_HOME(如果在 Windows 上)

2:降级到 react-native 0.57.0

3:确保您具有运行命令和访问文件的正确权限

4:确保您的 gradle 文件正确同步,并且在项目结构离线模式下 gradle 和 android skd 的位置正确

5:检查 gradle 是否有更新

(假设你使用的是android studio)

祝你好运

【讨论】:

【参考方案8】:

问题已存档:

nameyourapp/android/local.properties

你必须用正确的路径替换:/Users/nameUser/AppData/Local/Android/sdk

【讨论】:

【参考方案9】:

我有同样的错误我只是卸载了JDK旧版本并从https://www.oracle.com/java/technologies/javase-downloads.html安装了最新版本,现在它可以工作了。

【讨论】:

【参考方案10】:

在 android 文件夹中打开您的 settings.grandler 文件

\ 更改为/

保存文件

运行命令react-native run-android

【讨论】:

【参考方案11】:

就我而言,我卸载了 java jdk17 并安装了 java jdk11。几秒钟前它对我有用。真的很开心:)))

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于命令失败:gradlew.bat installDebug的主要内容,如果未能解决你的问题,请参考以下文章

React Native 和 Android Studio:应用无法构建。错误:命令失败:gradlew.bat app:installDebug -PreactNativeDevServerPort

gradlew.bat 失败,退出代码为 1

如何执行gradlew.bat文件

gradlew.bat命令一直下载downloading github项目无法运行gradle

gradlew.bat命令一直下载downloading github项目无法运行gradle

flutter-firebase_auth-gradlew.bat 异常退出