Android“转换为dalvik格式失败,错误1”和proguard

6

我在导出应用时看到了“Conversion to dalvik format failed with error 1”,但是我在控制台输出中没有看到任何有助于解决问题的信息。

我已经重启了eclipse并检查了控制台,但是仍然没有发现问题?

proguard日志存储在哪里?

在不使用proguard运行应用程序时,一切正常。

6个回答

7

http://sagistech.blogspot.com/2011/07/error-conversion-to-dalvik-format.html会有所帮助。 - Murat
这是解决我的问题的那一个。 - chuz
1
这解决了我的问题。我现在使用4.11版本的Proguard。而且每当您更新Android Build Tools时,它都会将旧版本放回去,这一点每个人都应该知道。 - tasomaniac

4

进入项目»属性»Java构建路径»库,然后删除除了"Android X.Y"(在我的情况下是Android 1.5)之外的所有库,点击 OK. 进入项目»清理»选择要清理的项目及其以下的项目并点击OK。这样就可以解决问题。

还有可能您的项目文件夹中有一个JAR文件(我曾将Admob jar复制到src文件夹中),然后把它添加到Java Path Library中。它在Package Explorer下不会显示出来,所以您不会注意到它,但它会被计算两次,导致可怕的Dalvik错误1。

答案在这个问题中找到。


除非我能够从Proguard获取控制台输出,否则我无法看到导致“转换为dalvik格式失败,错误1”的问题是什么。我尝试了建议的清理操作,但没有运气,肯定有一个包含Proguard日志的文件吧? - user964283
如果您点击工作区并按下F5,则会刷新您的项目,通常日志将出现在您项目的根目录中。 - silleknarf
还是没有运气!这太烦人了!所以当你们导出apk时,在控制台窗口中看到progruard输出吗?有任何配置吗? - user964283
我目前是通过右键单击项目 -> Android工具 -> 导出已签名的应用程序来导出应用程序。当启用Proguard时,这是正确的方法吗? - user964283
从未使用过ProGuard,但显然可以通过更改build.properties中config.logging的值来打开和关闭日志记录。 - silleknarf

1
对我来说问题在于将proguard.config包含为:
proguard.config=proguard-project.txt

而不是(忘记提及默认的Proguard配置)

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

0

我正在使用Eclipse IDE,而且在导出已签名应用程序时遇到了相同的问题。

我在proguard.cfg中进行了更改以避免优化(-dontoptimize),现在一切都很顺利。


0

我找到了一个解决方案。我链接了一个包含android-support jar文件的库,即使引用项目也有android-support jar文件。最初我重命名了,但仍然不起作用。由于我添加的库文件中已经有android-support jar文件,所以我删除了引用项目中存在的android-support jar文件,因此问题得到了解决:)


0

我正在使用 Pro-Guard。经过全部检查导入的 .jar 文件、清理和重建,错误仍然存在。但我找到了另一种方法来摆脱这个问题,并成功地导出签名包。这是通过删除项目文件夹中的“bin”和“gen”文件夹。返回到 Eclipse 并清理您的项目。

希望这可以帮助您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接