cordova build android error:系统找不到指定的路径。错误:cmd:命令失败,退出代码为1

时间:2017-05-19 13:25:45

标签: android cordova ionic2

我是Ionic2应用程序开发的新手,我正在尝试用它构建一个Android应用程序。我想在Visual Studio模拟器中运行该应用程序,并在运行'cordova build android'命令时收到以下错误。 请帮忙! 提前谢谢!

**C:\Devlopment ionic\sample\sampleapp>cordova build android
ANDROID_HOME=C:\Users\d.dutta.chowdhury\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
The system cannot find the path specified.
Error: cmd: Command failed with exit code 1**

enter image description here

3 个答案:

答案 0 :(得分:4)

只需将您的Android版本降级为5

cordova platform rm android

然后

cordova platform add android@~5

它对我有用。

答案 1 :(得分:2)

我遇到了同样的问题,并使用此命令构建项目以显示失败的整个日志,

MediaManager.load

它将显示gradle path,sdk path用于运行。 在我的情况下,没有gradle路径。

答案 2 :(得分:0)

运行这个脚本对我有用

https://github.com/erobertson42/cordova-plugin-xapkreader/blob/cordova-9/scripts/before_install.js

这是代码。 您必须运行 npm i fs-extra q

let fse = require('fs-extra');
let q = require('q');

module.exports = function(context) {
    const deferral = q.defer();
    let target = 'platforms/android/cordova/lib/plugin-build.gradle';

    console.log('scripts/before_install: fixing gradle');

    fse.readFile(target, 'utf8').then((data) => {
        // replace deprecated "compile" configurations with "implementation"
        data = data.replace(/debugCompile (project\(.*)\,.*(\))\n\s*releaseCompile.*/g, 'implementation $1)');

        // replace old Java 1_6 variables with 1_8
        data = data.replace(/(JavaVersion\.VERSION_1)_6/g, '$1_8');

        // fix "cdvCompileSdkVersion" and "cdvBuildToolsVersion" undefined variables
        data = data.replace(/\/\/ GENERATED FILE! DO NOT EDIT!/, match => `${match}
ext {
    apply from: '../../CordovaLib/cordova.gradle'
    cdvCompileSdkVersion = privateHelpers.getProjectTarget()
    cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools()
}
`);

        return fse.writeFile(target, data, 'utf8').then(() => {
            console.log('scripts/before_install: done!');
            deferral.resolve();
        });
    }).catch((e) => {
        deferral.reject('scripts/before_install: error ' + e);
    });

    return deferral.promise;
};