命令失败: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命令一直下载downloading github项目无法运行gradle