2015-06-09 11 views
10

Uso la pergola per scaricare e gestire tutti i componenti in polimero. Tuttavia, dopo aver aggiunto la cartella "bower_components", Cordova non può più essere completata correttamente.Il polimero con Bower causa la mancata costruzione in 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 

Sembra che sia a causa del file .gz in/web-animations-js.

In ogni caso, ci sono anche molti file e cartelle che dovrebbero essere rimossi, come quelle "test" e "demo", incluse quando scarico i componenti con bower.

Come devo risolvere questo problema?

risposta

2

Non sono sicuro del motivo per cui la build di Cordova non funziona, ma rispondendo alla seconda domanda relativa alla rimozione dei file di test/demo, è possibile utilizzare lo Cordova hooks.

Stiamo usando Ionic Framework su Cordova e c'è un interessante articolo here su alcuni ganci Cordova.

Così uno dei ganci che stiamo usando è un file chiamato 030_clean_dev_files_from_platforms.js si trova nella directory hooks/after_prepare e contiene i seguenti:

#!/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); 
4

ho cancellato il file .gz lei ha citato e preso a lavorare. Non sono esattamente sicuro di quale sia la soluzione completa.

+0

Sì, questo ha funzionato, ma non sono sicuro del perché, sarebbe bello se qualcuno potesse spiegare !! – vinesh

Problemi correlati