【问题标题】:Polymer with Bower causes build to fail in Cordova带有 Bower 的聚合物导致 Cordova 的构建失败
【发布时间】:2015-08-23 17:17:55
【问题描述】:

我正在使用 bower 下载和管理所有聚合物组件。但是,在添加“bower_components”文件夹后,Cordova 无法再成功构建。

:processDebugResources 无法添加 'C:\...\platforms\android\build\intermediates\assets\debug\www\bower_components\web-animations-js\web-animations.min.js.gz':文件已在存档中(尝试“-你”?) 错误:打包“C:\...\platforms\android\build\intermediates\res\resources-debug.ap_”时无法处理资产 错误:“C:\...\platforms\android\build\intermediates\res\resources-debug.ap_”的打包失败 :processDebugResources 失败 FAILURE:构建失败并出现异常。 * 什么地方出了错: 任务“:processDebugResources”执行失败。 ………… 错误代码: 1 输出: 无法添加 'C:\...\platforms\android\build\intermediates\assets\debug\www\bower_components\web-animations-js\web-animations.min.js.gz':文件已在存档中(尝试“-你”?) 错误:打包“C:\...\platforms\android\build\intermediates\res\resources-debug.ap_”时无法处理资产 错误:“C:\...\platforms\android\build\intermediates\res\resources-debug.ap_”的打包失败 * 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 运行 获得更多日志输出的选项。 构建失败 总时间:13.038 秒

似乎是因为 /web-animations-js 中的 .gz 文件。

不管怎样,还有很多文件和文件夹要删除,比如那些“test”和“demo”文件夹,我用bower下载组件的时候就包含了。

我应该如何解决这个问题?

【问题讨论】:

    标签: android cordova polymer bower


    【解决方案1】:

    我删除了你提到的 .gz 文件并让它工作。我不确定完整的解决方案是什么。

    【讨论】:

    • 是的,这行得通,但不知道为什么,如果有人能解释一下就好了!!
    【解决方案2】:

    我不确定为什么 Cordova 的构建失败,但回答您关于删除测试/演示文件的第二个问题,您可以使用 Cordova hooks

    我们在 Cordova 之上使用 Ionic 框架,有一篇有趣的文章 here 关于一些 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      相关资源
      最近更新 更多