assets and node_modules (Phonegap/Cordova)

assets and node_modules (Phonegap/Cordova)

本文关键字:Phonegap Cordova modules and node assets      更新时间:2023-09-26

我目前正在使用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

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

有什么想法可能导致这个问题,或者有人有一个修复/解决方案?

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

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

http://www.zfanw.com/blog/phonegap -错误退出代码- 8. - html

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

在本文的帮助下,我发现您可以创建/编辑platform/android/ant.properties

,并添加以下行:

aapt.ignore.assets=!*.map:!thumbs.db:!.git:.*:*~:node_* 

我添加node_*部分是为了忽略与节点相关的文件。

From: Cordova Build - ignore files