如何解决在资产文件夹中自动省略以“_”(下划线)开头的文件/文件夹
Posted
技术标签:
【中文标题】如何解决在资产文件夹中自动省略以“_”(下划线)开头的文件/文件夹【英文标题】:How to workaround autoomitting fiiles/folders starting with "_" (underscore) in assets folder 【发布时间】:2012-02-09 06:01:00 【问题描述】:我想在 eclipse 提供的 android 模拟器上部署 PhoneGap 应用。我决定使用严重依赖“_”约定的Dojo Toolkit(以“_”开头的文件/文件夹意味着这是一个私有/内部模块)。
基本上问题在于,在部署应用程序时,每个以“_”开头的文件/文件夹都被省略了。这完全把事情搞砸了,Dojo 工具包正如预期的那样无法工作。
有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:aaptOptions
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
在 android 应用程序的 android 块内的应用程序 build.gradle 文件中添加上述行
【讨论】:
【参考方案2】:首先给issue 加注星标,以便 Google 最终修复该错误。如果您在 Mac 或 Linux 上运行,则有一个修补过的 aapt 可修复错误 here。除此之外,您唯一的选择是做一个 Dojo 的build,以便它只在一个文件中。
【讨论】:
我对此表示反对,因为解决错误修复问题的唯一部分是链接断开。答案应包括其他答案中所述的解决方案,仅在 gradle 文件中的几行。【参考方案3】:根据上一个答案,我结束了对位于项目根目录的ant.properties
的更改:
aapt.ignore.assets=!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~
在这里,我覆盖了在 sdk-android 目录上定义的 aapt.ignore.assets
属性。有效
【讨论】:
【参考方案4】:适用于所有 Dojo 开发人员,或任何对此有疑问的人。
在 Android Studio 中为我解决的问题是打开 build.gradle,然后添加到 android 块:
android
compileSdkVersion 26
...
aaptOptions
ignoreAssetsPattern '!._'
【讨论】:
请注意,compileSdkVersion 根本不重要。这似乎会影响 Android 4.4+【参考方案5】:解决方法是使用 CDN 中的 dojo.js
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.9.0/dojo/dojo.js"></script>
另外,我开始寻找一个缩小应用程序或服务,它可以从所有必需的 dojo 文件创建一个文件,但没有轻易找到。
【讨论】:
我知道这是旧的,但是 - Dojo 有自己的构建系统,请参阅 dojotoolkit.org/documentation/tutorials/1.10/build .. 例如这篇文章community.phonegap.com/nitobi/topics/… 显示了构建配置文件和构建命令行的示例。我还没有测试他们在那里说的内容,但想法与此处相同,在构建期间将通常位于以下划线开头的文件夹中的所有 Dojo 文件放入一个大的 .js 文件中,这样你的 android 应用程序就不会需要再引用文件夹(并且您的 apk 会更小)。以上是关于如何解决在资产文件夹中自动省略以“_”(下划线)开头的文件/文件夹的主要内容,如果未能解决你的问题,请参考以下文章