Der*_*會功夫 10 android cordova bower polymer
我正在使用凉亭下载和管理所有聚合物组件.但是,添加"bower_components"文件夹后,Cordova无法再成功构建.
: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
这似乎是因为/ web-animations-js中的.gz文件.
无论如何,还有很多文件和文件夹应该被删除,例如那些"测试"和"演示"文件夹,当我用bower下载组件时包含这些文件和文件夹.
我该如何解决这个问题?
我不确定为什么 Cordova 的构建失败,但是回答有关删除测试/演示文件的第二个问题,您可以使用Cordova hooks。
我们在 Cordova 之上使用 Ionic Framework,这里有一篇关于一些 Cordova 钩子的有趣文章。
因此,我们使用的挂钩之一是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);
Run Code Online (Sandbox Code Playgroud)