Ошибка при развертывании сборки Android из Visual Studio 2017. Я использую Cordova - PullRequest
0 голосов
/ 10 июля 2019

После успешного обновления до cordova-android = 8.0.0 и cordova-cli = 8.1.2 у меня возникают проблемы при развертывании на устройстве.Сначала apk не был сгенерирован должным образом в папку bin, затем я написал хук "after_build" для копирования apk в нужную папку перед его развертыванием на устройство, и теперь он копируется, но после успешной сборки и apk Я получаю эту ошибку непосредственно перед сборкойначало развертывания

Код серьезности Описание Состояние проекта Подавление строки файла Ошибка valid-jsdoc (ESLint) Отсутствует описание параметра JSDoc для 'directory'.Разное D: \ TMS-GIT \ com.tracer.joblogic \ copy_android_apk.js 38 Активная ошибка в executeUserCode (внутренний / bootstrap / node.js: 342: 17) com.tracer.joblogic
Ошибка в Function.Module.runMain(внутренняя / modules / cjs / loader.js: 774: 12) com.tracer.joblogic
Ошибка при Function.Module._load (внутренняя / modules / cjs / loader.js: 552: 3) com.tracer.joblogic
Ошибка в Module.load (внутренняя / modules / cjs / loader.js: 620: 32) com.tracer.joblogic
Ошибка в Module._compile (внутренняя / modules / cjs / loader.js: 721: 30) com.tracer.joblogic
Ошибка на объекте.(C: \ ПРОГРАММНЫЕ ФАЙЛЫ (X86) \ ВИЗУАЛЬНАЯ СТУДИЯ MICROSOFT \ 2017 \ COMMUNITY \ Common7 \ IDE \ Extensions \ ApacheCordovaTools \ vstacwrapper.js: 18: 11) com.tracer.joblogic
Ошибка в Object.Module._extensions..js (внутренний / modules / cjs / loader.js: 732: 10) com.tracer.joblogic
Ошибка при запуске запуска (внутренняя / bootstrap / node.js: 276: 5) com.tracer.joblogic
Ошибкапри запуске (internal / bootstrap / node.js: 227: 5) com.tracer.joblogic
Ошибка при tryModuleLoad (внутренняя / modules / cjs / loader.js: 560: 12) com.tracer.joblogic
ОшибкаC: \ ФАЙЛЫ ПРОГРАММ (X86) \ ВИЗУАЛЬНАЯ СТУДИЯ MICROSOFT \ 2017 \ COMMUNITY \ Common7 \ IDE \ Extensions \ ApacheCordovaTools \ vstacwrapper.js: 18 com.tracer.joblogic
Ошибка: не удалось загрузить Cordova из C: \ ProgramФайлы (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ node_modules \ cordova com.tracer.joblogic
Ошибка обнаружена _JAVA_OPTIONS: -Xmx512M com.tracer.joblogic 1
Ошибка выдает новую ошибку ('Не удалось загрузить Cordova из '+ npmInstallPath +' \ node_modules \ cordova ');com.tracer.joblogic
Ошибка ^ com.tracer.joblogic

и вот мой код для ловушки after_build:

#!/usr/bin/env node

module.exports = function (context) {
console.log(" -- manual step -- have to copy apk to this folder because that is where VS is looking for it...");

var fs = require('fs');
var path = require('path');
var rootdir = process.argv[2];

var srcfile = path.join(process.cwd(), "platforms\\android\\app\\build\\outputs\\apk\\debug\\app-debug.apk");
var destfile = path.join(process.cwd(), "platforms\\android\\build\\outputs\\apk\\app-debug.apk");

var destdir = path.dirname(destfile);

//Create the output directory if it doesn't exist
if (!fs.existsSync(destdir)) {
    mkdirSyncRecursive(destdir);
}

if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
    fs.createReadStream(srcfile).pipe(
        fs.createWriteStream(destfile));
}

srcfile = path.join(process.cwd(), "platforms\\android\\app\\build\\outputs\\apk\\release\\app-release.apk");
destfile = path.join(process.cwd(), "platforms\\android\\build\\outputs\\apk\\app-release.apk");

destdir = path.dirname(destfile);
if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
    fs.createReadStream(srcfile).pipe(
        fs.createWriteStream(destfile));
}

/**
 * Splits whole path into segments and checks each segment for existence and recreates directory tree from the bottom.
 * If since some segment tree doesn't exist it will be created in series.
 * Existing directories will be skipped.
 * @param {String} directory
 */
function mkdirSyncRecursive(directory) {
    var path = directory.replace(/\\$/, '').split('\\');
    for (var i = 1; i <= path.length; i++) {
        var segment = path.slice(0, i).join('/');
        !fs.existsSync(segment) ? fs.mkdirSync(segment) : null;
    }
}
}

Любая помощь будет высоко оценена, так как яборюсь с этим уже два дня !!!Спасибо

...