【问题标题】:Command failed: gradlew.bat installDebug命令失败: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)

【问题讨论】:

    标签: java android reactjs react-native


    【解决方案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 }

    【讨论】:

    【解决方案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。几秒钟前它对我有用。真的很开心:)))

                    【讨论】:

                    猜你喜欢
                    • 2019-07-06
                    • 2020-09-05
                    • 2021-05-10
                    • 2019-06-22
                    • 1970-01-01
                    • 2017-09-25
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多