在 Eclipse 中使用 Proguard for Android 出错
Posted
技术标签:
【中文标题】在 Eclipse 中使用 Proguard for Android 出错【英文标题】:Using Proguard for Android in Eclipse got Error 【发布时间】:2011-05-24 04:54:04 【问题描述】:我已经全新安装了 Eclipse 和所有最新的 android 工具,并希望在现有项目上使用 Proguard,但现在我创建了一个新的空白工具。
我在我的项目中添加了一个proguard.cfg
文件
将proguard.config=proguard.cfg
添加到我的default.properties
现在当我尝试导出时出现以下错误
[2010-12-12 10:36:35 - ApplicationTest] Proguard returned with error code 1. See console
[2010-12-12 10:36:35 - ApplicationTest] 'C:\Program' is not recognized as an internal or external command,
[2010-12-12 10:36:35 - ApplicationTest] operable program or batch file.
[2010-12-12 10:36:35 - ApplicationTest] '-jar' is not recognized as an internal or external command,
[2010-12-12 10:36:35 - ApplicationTest] operable program or batch file.
我知道这意味着文件路径设置不正确,问题是我查看了一般属性和项目属性,看不到任何对 proguard 或混淆的引用,所以我坚持要更改的内容
任何帮助表示赞赏。
【问题讨论】:
请标记 Asmo Soinio 的答案正确。 ***.com/questions/6638713/… 【参考方案1】:您需要定义不带空格的 Android SDK 路径。从马克的这个答案中复制和粘贴:
Proguard error: Expecting class path seperator - not sure where I need to put a path in quotes
是的,这对我有用。说起来 具体来说:
在 Eclipse 中:窗口 > 首选项 > Android > SDK位置
使用类似的东西 c:\Progra~1\android-sdk(或者在 64 位上可能是 c:\Progra~2\android-sdk)
对我来说路径是"c:\Progra~1\Android\android-sdk-windows"
【讨论】:
如果我启动了这个线程,就会得到绿色的勾号。 ;)。 恕我直言,这是最快、更有效的解决方案。 太棒了!顺便说一句,如果您将 Android 安装到 C:\Program Files (x86)\ 然后使用 c:\Progra~2\【参考方案2】:根据谷歌工程师在此处的线程中发布的 cmets: http://groups.google.com/group/android-developers/browse_thread/thread/19b96902fc20cede
ProGuard 附带的*.bat 文件不支持带空格的路径。
在没有空格的路径上安装 Java 和 Android SDK 并不能完全解决问题。如果 Eclipse 工作区、临时文件夹或某些外部 JAR 文件的路径也包含空格,则可能会出错。
我懒得重新安装所有东西,所以我的解决方法是在文件系统上创建连接点。
【讨论】:
如果有人遇到这个问题而不知道什么是连接点,就像我一样,请查看它们,因为它们比尝试移动 eclipse 和 sdk 更容易。如果您有 windows vista 或更高版本,请查看 mklink。连接点基本上允许您创建硬快捷方式,以便您可以链接到当前目录位置,但使用新名称。例如:您可以创建一个名为 C:/Android/ 的连接点文件夹链接到您的 C:/Android 目录,其中包含空格/然后您无需移动任何内容。感谢 Viktor 的建议。 另外,为了节省其他人的时间...您必须更改 eclipse 设置以使用 sdk 的新位置(Eclipse:Window > Preferences > Android > SDK Location)并更改您的项目,这可能意味着将它们从工作区中移除并使用新路径重新导入。 howtogeek.com/howto/windows-vista/… - 很棒的教程【参考方案3】:我只是在根目录中重新安装了 JAVA 和 ANDROID,而不是在程序文件中的默认路径下,并且一切正常
【讨论】:
【参考方案4】:有没有办法在 proguard 配置文件中指定自己到 Java 和 Android SDK 的直接路径?
【讨论】:
【参考方案5】:这个问题似乎在 ADT 12 中得到解决。main_rules.xml 中的以下更改解决了这个问题,应该包含在 ADT 12 中:https://review.source.android.com/#change,22791。
我可以验证在 your_sdk_path/tools/ant 下载固定版本并替换 sdk 附带的副本可以解决此问题。
【讨论】:
【参考方案6】:好的,现在我找到了解决此问题的一种方法 1、设置“PROGUARD_HOME”EVN PATH到\tools\proguard 2、重启eclipse 3、现在可以正常使用了!
【讨论】:
【参考方案7】:我将 SDK 路径更改为 8.3 格式,并将 proguard.bat 中的 proguard.jar 文件夹更改为 8.3 格式,现在一切正常!
【讨论】:
以上是关于在 Eclipse 中使用 Proguard for Android 出错的主要内容,如果未能解决你的问题,请参考以下文章