资产和node_modules(Phonegap / Cordova)

时间:2014-03-08 22:59:36

标签: javascript android cordova

我目前正在使用cordova / phonegap构建我的第一个Android应用程序。我正如你通常那样搭建一个项目,然后在android项目的assets /文件夹中我添加了一个app /目录和一个gruntfile,它将所有内容编译到www /目录中。

当我在模拟器中运行/调试项目时,ADT会抛出很多控制台错误(下面是最后5行)

[2014-03-08 22:54:09 - mentalcombat]     (skipping file '.npmignore' due to ANDROID_AAPT_IGNORE pattern '.*')
[2014-03-08 22:54:09 - mentalcombat]     (skipping file '.npmignore' due to ANDROID_AAPT_IGNORE pattern '.*')
[2014-03-08 22:54:09 - mentalcombat]     (skipping file '.travis.yml' due to ANDROID_AAPT_IGNORE pattern '.*')
[2014-03-08 22:54:09 - mentalcombat]       Unable to add '/Users/leaky/sites/Android/mentalcombat/assets/node_modules/bower/node_modules/semver/semver.browser.js.gz': file already in archive (try '-u'?)
[2014-03-08 22:54:09 - mentalcombat] ERROR: unable to process assets while packaging '/Users/leaky/sites/Android/mentalcombat/bin/resources.ap_'
[2014-03-08 22:54:09 - mentalcombat] ERROR: packaging of '/Users/leaky/sites/Android/mentalcombat/bin/resources.ap_' failed

当我删除assets /中的node_modules文件夹时,项目将在模拟器中运行/调试。

任何想法可能导致此问题,或者有人有修复/解决方法吗?

2 个答案:

答案 0 :(得分:2)

有完全相同的问题。从platforms / android / build.xml中排除节点模块:

<property name="aapt.ignore.assets" value="&lt;dir&gt;node_*" />

来源:

http://www.zfanw.com/blog/phonegap-error-exit-code-8.html

答案 1 :(得分:0)

您不应该修改build.xml,因为它每次都会生成。

在本文的帮助下,我发现您可以创建/编辑text

并添加以下行:

typedef struct {
    char nome[501];
    int qtd;
    int linha;
    int coluna;
} tPeca;

tPeca* criarPecas(FILE *pFile, int tam) {
    int i;      
    tPeca *pecaJogo = (tPeca*)malloc(tam*sizeof(tPeca));
    if (pecaJogo == NULL)
        return NULL;
    for (i = 1; i <= tam; i++) {
        fscanf (pFile, "%[^;]", pecaJogo[i].nome);  
        fscanf (pFile, "%d", pecaJogo[i].qtd);  
        fscanf (pFile, "%d", pecaJogo[i].linha);
        fscanf (pFile, "%d\n", pecaJogo[i].coluna);
    }
    return pecaJogo;
}

我添加了node_ *部分以忽略节点相关文件。现在构建很好。

来自:Cordova Build - ignore files