Ответ 1
Я удалил файл .gz, который вы упомянули, и заставил его работать. Я не совсем уверен, что такое полное решение.
Я использую bower для загрузки и управления всеми полимерными компонентами. Однако после добавления папки "bower_components" Кордова больше не может успешно работать.
:processDebugResources Unable to add 'C:\...\platforms\android\build\intermediates\assets\debug\www\bower_components\web-animations-js\web-animations.min.js.gz': file already in archive (try '-u'?) ERROR: unable to process assets while packaging 'C:\...\platforms\android\build\intermediates\res\resources-debug.ap_' ERROR: packaging of 'C:\...\platforms\android\build\intermediates\res\resources-debug.ap_' failed :processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':processDebugResources'. ....... Error Code: 1 Output: Unable to add 'C:\...\platforms\android\build\intermediates\assets\debug\www\bower_components\web-animations-js\web-animations.min.js.gz': file already in archive (try '-u'?) ERROR: unable to process assets while packaging 'C:\...\platforms\android\build\intermediates\res\resources-debug.ap_' ERROR: packaging of 'C:\...\platforms\android\build\intermediates\res\resources-debug.ap_' failed * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 13.038 secs
Похоже, это из-за файла .gz в/web-анимации-js.
Во всяком случае, также есть много файлов и папок, которые необходимо удалить, например, те "тестовые" и "демонстрационные" папки, которые включены, когда я загружаю компоненты с помощью беседки.
Как мне решить эту проблему?
Я удалил файл .gz, который вы упомянули, и заставил его работать. Я не совсем уверен, что такое полное решение.
Я не уверен, почему сборка Cordova терпит неудачу, но, отвечая на ваш второй вопрос относительно удаления тестовых/демо файлов, вы можете использовать Кордова перехватывает.
Мы используем Ionic Framework поверх Кордовы, и здесь есть интересная статья о некоторых крюках Кордовы.
Итак, одним из используемых нами крючков является файл с именем 030_clean_dev_files_from_platforms.js
, расположенный в каталоге hooks/after_prepare
и содержащий следующее:
#!/usr/bin/env node
/**
* After prepare, files are copied to the platforms/ios and platforms/android folders.
* Lets clean up some of those files that arent needed with this hook.
*/
var fs = require('fs');
var path = require('path');
var deleteFolderRecursive = function(removePath) {
if( fs.existsSync(removePath) ) {
fs.readdirSync(removePath).forEach(function(file,index){
var curPath = path.join(removePath, file);
if(fs.lstatSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(removePath);
}
};
var iosPlatformsDir_1 = path.resolve(__dirname, '../../platforms/ios/www/css');
var iosPlatformsDir_2 = path.resolve(__dirname, '../../platforms/ios/www/app');
var iosPlatformsDir_3 = path.resolve(__dirname, '../../platforms/ios/www/dist/dist_js/app');
var androidPlatformsDir_1 = path.resolve(__dirname, '../../platforms/android/assets/www/css');
var androidPlatformsDir_2 = path.resolve(__dirname, '../../platforms/android/assets/www/app');
var androidPlatformsDir_3 = path.resolve(__dirname, '../../platforms/android/assets/www/dist/dist_js/app');
var browserPlatformsDir_1 = path.resolve(__dirname, '../../platforms/browser/www/css');
var browserPlatformsDir_2 = path.resolve(__dirname, '../../platforms/browser/www/app');
var browserPlatformsDir_3 = path.resolve(__dirname, '../../platforms/browser/www/dist/dist_js/app');
deleteFolderRecursive(iosPlatformsDir_1);
deleteFolderRecursive(iosPlatformsDir_2);
deleteFolderRecursive(iosPlatformsDir_3);
deleteFolderRecursive(androidPlatformsDir_1);
deleteFolderRecursive(androidPlatformsDir_2);
deleteFolderRecursive(androidPlatformsDir_3);
deleteFolderRecursive(browserPlatformsDir_1);
deleteFolderRecursive(browserPlatformsDir_2);
deleteFolderRecursive(browserPlatformsDir_3);