我是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**
答案 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;
};