23

我已经全新安装了 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 或混淆的任何引用,所以我被困在要更改的内容上

任何帮助表示赞赏。

4

7 回答 7

29

您需要定义不带空格的 Android SDK 路径。从马克的这个答案中复制和粘贴:

Proguard 错误:期望类路径分隔符 - 不确定我需要在哪里将路径放在引号中

是的,这对我有用。具体来说:

在 Eclipse 中:窗口 > 首选项 > Android > SDK 位置

使用类似 c:\Progra~1\android-sdk 的东西(或者在 64 位上使用 c:\Progra~2\android-sdk)

对我来说,路径是"c:\Progra~1\Android\android-sdk-windows"

于 2011-01-17T14:04:36.010 回答
9

根据谷歌工程师在这里发表的评论: http ://groups.google.com/group/android-developers/browse_thread/thread/19b96902fc20cede

ProGuard 附带的 *.bat 文件不支持带空格的路径。

在没有空格的路径上安装 Java 和 Android SDK 并不能完全解决问题。如果 Eclipse 工作区、临时文件夹或某些外部 JAR 文件的路径也包含空格,则可能会出错。

我懒得重新安装所有东西,所以我的解决方法是在文件系统上创建连接点。

于 2011-01-05T22:35:05.603 回答
0

我只是在根目录中重新安装了 JAVA 和 ANDROID,而不是在程序文件中的默认路径下,并且一切正常

于 2010-12-12T15:25:50.060 回答
0

好的,现在我找到了解决此问题的一种方法 1,将“PROGUARD_HOME”EVN PATH 设置为 \tools\proguard 2,重新启动 eclipse 3,现在它可以正常工作了!

于 2012-03-22T11:14:31.047 回答
0

此问题似乎已在 ADT 12 中得到解决。 main_rules.xml 中的以下更改解决了该问题,应包含在 ADT 12 中:https ://review.source.android.com/#change,22791 。

我可以验证在 your_sdk_path/tools/ant 下载固定版本并替换 sdk 附带的副本可以解决此问题。

于 2011-06-24T21:24:09.990 回答
0

有没有办法在 proguard 配置文件中指定自己到 Java 和 Android SDK 的直接路径?

于 2010-12-21T12:48:44.610 回答
0

我将 SDK 路径更改为 8.3 格式,并将 proguard.bat 中的 proguard.jar 文件夹更改为 8.3 格式,现在一切正常!

于 2014-02-18T20:17:29.900 回答