【发布时间】:2013-11-02 20:08:45
【问题描述】:
最近我从 eclipse 中得到这个错误: “无效的资源目录名称”,资源“紧缩”,键入“Android AAPT 问题” 这是什么问题以及如何解决?
【问题讨论】:
-
dull_boy 的评论帮助我,非常感谢!
最近我从 eclipse 中得到这个错误: “无效的资源目录名称”,资源“紧缩”,键入“Android AAPT 问题” 这是什么问题以及如何解决?
【问题讨论】:
修复:
从菜单中点击Project->Clean...
将出现一个弹出窗口。选中出现此问题的项目的复选框,然后单击“确定”。
等着瞧吧。
【讨论】:
Ant 和 Eclipse 的 ADT 插件将 .apk 文件打包到不同的构建链和临时生成文件夹中。 Crunch 由 ADT 创建。如果您在工具之间切换,最好的做法是使用clean 开始每一步。如果您之前使用过 eclipse 中的 ADT,请使用 ant clean。如果您之前使用过 ant,请在 Eclipse 中使用 Projects -> clean ...。希望这能解决您的问题。重新启动 Eclipse 也会有所帮助。
【讨论】:
ant 进行构建。退出 Eclipse 解决了这个问题。
ant clean 就可以了
我遇到了同样的问题:资源目录名称无效:D:\work\merge\Client_2_24\Client\bin\res/crunch。我试过 Project->Clean 但没有用。然后我直接删除了目录紧缩,它起作用了:)
【讨论】:
这个问题是由于Android要求在res文件夹中只能有drawable、drawable-xhdpi等。 crunch 不是其中之一。
这里有评论。
【讨论】:
首先,我发现当在 Eclipse 中构建我的代码和在命令行上通过ant 构建它时交替出现这种烦恼。
涉及清理项目的解决方案很好,但是,鉴于大部分代码大量使用模板这一事实,我的源代码树需要 5 分钟以上的时间来构建。我尽量避免清洁,以免不得不进行完全重建。所以这是我的解决方案:
将以下内容添加到 build.xml:
<target name="-pre-build">
<delete>
<fileset dir="${basedir}" includes="**/crunch/**"/>
</delete>
</target>
ant 中的这个删除任务将递归删除 build.xml 文件所在目录下的所有crunch 目录。每当我在命令行上执行 ant debug/release 时,此任务就会运行,这意味着我再也不必因为这种紧缩的废话而清理我的项目了!
【讨论】:
我可以通过“ant clean debug”解决这个问题。上述从 Eclipse 中清理项目的建议对我不起作用。
【讨论】:
如果您不想使用 eclipse 并通过 ant release -Dsdk.dir=$SDK_ROOT 收到此错误消息,您可以运行 ant clean -Dsdk.dir=$SDK_ROOT
【讨论】:
当我使用“New Project -> Android Project from Existing Code”错误地将项目导入 Eclipse 时,这发生在我身上。 它导致 crunch 目录出现在意想不到的地方。 使用“导入 -> 现有项目到工作区”导入解决了它。
【讨论】:
在清单文件所在的文件夹中创建一个名为 ant.properties 的文件。 添加 aapt.ignore.assets=crunch :(无论您的 android sdk/tools/ant/build.xml 文件中的默认值是什么,在属性上方注释)
从命令行使用cordova时,它使用ant 使用 Eclipse 时,它使用 android 包管理器
包管理器将 png 文件压缩并放入 crunch,crunch 是一个无效的 ant 文件夹名称,如果 eclipse 设置为自动构建,每次你删除 crunch 时,它都会由 android 包管理器重新构建。您可以通过右键单击项目、属性、构建器、取消选中 android 包管理器、删除 crunch 文件夹来测试它,它永远不会再回来,您也永远不会再有压缩的 png 文件。
删除文件夹而不做任何这些事情并且打开eclipse只是掷骰子,eclipse会在cordova进入包资源阶段之前自动生成紧缩
【讨论】:
当我将 android SDK 构建工具更新到版本 18 和 19 时,我遇到了同样的问题。
我的解决办法是:
我认为问题在于 eclipse 会自动构建,并生成与 ant build 冲突的文件。
【讨论】:
首先尝试清理您的项目。如果它运作良好,那么很好,否则进入 bin -> res -> 有一个名为 Crunch 的文件夹。 直接删除该文件夹 并再次清理项目。
它会解决问题。
【讨论】:
而我的错误是
错误:任务 ':app:mergeDebugResources' 执行失败。 /path/to/project/app/src/main/res/drawable-xxdpi: Error: Invalid resource directory name
注意“drawable-xxdpi”不是有效的文件夹名称,而“drawable-xxhdpi”是正确的。
【讨论】:
Android 标准可能不允许您的某些文件夹名称:检查您创建的文件夹,然后重命名它们。
【讨论】: