【问题标题】:Android SDK tools revision 12 has problem with Proguard => error conversion to Dalvik format failed with error 1 [duplicate]Android SDK 工具修订版 12 Proguard 有问题 => 错误转换为 Dalvik 格式失败,错误 1 ​​[重复]
【发布时间】:2011-09-30 03:54:20
【问题描述】:

我刚刚更新到 Android SDK 工具修订版 12,我的应用程序无法立即使用以前的 Proguard 设置导出。我收到“Conversion to Dalvik format failed with error 1”,我使用的唯一库是“jcifs”。我尝试过清理和重建,创建一个新项目,然后重新组装,我相信我已经完成了几乎所有可以在 Internet 上阅读的内容。 这是来自这个新 SDK 的新错误吗?如果你的项目使用 Proguard,我建议暂时不要更新。

更新 1: 我还尝试使用 proguard 集导出一个简单的 Hello 应用程序,仍然是相同的消息。这个版本的 SDK 工具似乎有问题。

更新 2: 我必须删除 SDK 目录中的整个工具文件夹,并将 SDK 工具修订版 11 的备份复制到其中。至少我可以回去工作并再次使用 proguard 作品导出。我希望这些信息对处于相同情况的任何人有所帮助。我仍然不知道发生了什么,希望有人能解决这个烦人的问题。

更新 3: 我已将此问题报告为此处的错误: http://code.google.com/p/android/issues/detail?id=18359 希望有人好好看看这个问题,在此之前,如果您在开发中使用 Proguard,建议您不要使用此版本。

【问题讨论】:

    标签: android android-2.2-froyo


    【解决方案1】:

    问题是由[Android SDK安装目录]\tools\proguard\bin\proguard.bat文件中R12中的ProGuard命令行引起的。只需编辑以下行即可解决问题。

    改变

    call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
    

    call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
    

    【讨论】:

    • 我可以确认此更改确实解决了问题。
    • 如果它不起作用,请在“高级系统设置”中为您的计算机/用户手动设置环境变量 (PROGUARD_HOME)。就我而言,我的路径有一个空间,但它在 R11 中工作。
    • 谢谢!这个问题我有一段时间了...
    • 我很惊讶这坏了...... :(但是你的改变有效......谢谢!
    • 非常感谢!!!这实际上确实有效,最后为我解决了这个问题......不知道WTF这个答案没有被标记为接受:(
    【解决方案2】:

    我下载了 Proguard 4.6 并将 /lib 和 /bin 的内容复制到 /tools/proguard/ 中,从而解决了问题。

    【讨论】:

    • 这是解决此问题的正确方法。清理、恢复到较早的 sdk 等都是不正确的(在某些情况下可能对某些人有效,但解决此问题的正确方法是下载 Michiel 所述的 Proguard 4.6)
    【解决方案3】:

    我发现这个问题的唯一解决方案是在 proguard.cfg 中进行更改

    -优化通过 5

    -优化通过 2

    【讨论】:

    • 它也为我解决了,但 -optimizationpasses 2 似乎保护较弱:(
    【解决方案4】:

    我在尝试使用 Android SDK Tools Rev 16 时遇到了同样的问题 在 Mac OS X 10.7.2 上从 Helios Eclipse 3.6 导出签名的应用程序包 用于在 Samsung Galaxy Nexus 4.0.2 build ICL53F 上执行

    问题:

    [2012-01-11 03:15:46 - Chapter 8 Where Am I] Proguard returned with error code 1. See console
    [2012-01-11 03:15:46 - Chapter 8 Where Am I] proguard.ParseException: Unknown option '8' in argument number 9
    [2012-01-11 03:15:46 - Chapter 8 Where Am I]    at proguard.ConfigurationParser.parse(ConfigurationParser.java:170)
    [2012-01-11 03:15:46 - Chapter 8 Where Am I]    at proguard.ProGuard.main(ProGuard.java:491)
    

    解决方案:

    cd /Applications/android-sdk-mac_x86/tools/proguard/bin
    

    然后修改文件proguard.sh如下:

    # java -jar "$PROGUARD_HOME"/lib/proguard.jar "$@"
    java -jar "$PROGUARD_HOME"/lib/proguard.jar "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8"
    

    【讨论】:

      【解决方案5】:

      我刚刚通过从http://dl.google.com/android/installer_r11-windows.exe 下载 R11 安装程序并用这个替换 \tools 目录解决了这个问题:
      运行下载的安装程序。
      指定与常规安装不同的目标文件夹,然后单击安装。
      最后你可以取消勾选“Start SDK Manager...”,然后点击[Finish]。
      安装程序将在该不同文件夹中创建一个 \tools 目录。
      重命名您的常规“\android-sdk-windows\tools”目录,并将该 \tools 目录复制到您的常规“\android-sdk-windows\”目录。
      该项目现在应该在没有“错误 1”的情况下构建。
      我还没有研究这两个目录有什么不同。

      【讨论】:

      • 我有同样的问题,我可以通过将 R12 Proguard 文件夹替换为 R11 文件夹来确认我没有收到错误。
      • 只需覆盖 proguard 文件夹即可解决问题,但它会以某种方式导致模拟器崩溃并显示消息:“PANIC: Missing arch-specific emulator program: C:\Android_Devs\android-sdk-windows-1.5_r3\工具/模拟器-arm.exe"
      【解决方案6】:

      按照建议更改 proguard.bat 对我的情况没有帮助。升级到 proguard 4.6 也没有帮助。对我有帮助的是我不得不将 Android SDK 工具降级到修订版 11。 注意:在运行 SDK Manager 和安装包时,我没有安装包“Android SDK Tools, revision 12”。

      更新:

      我已尝试使用 Android SDK 修订版 15,但问题仍然存在。现在这种降级到修订版 11 的解决方法不再有效,因为 SDK 管理器用于下载软件包的 URL 不再有效。

      在尝试了 2 天不同的解决方案后,升级到 proguard 4.6 确实有所帮助。

      【讨论】:

        【解决方案7】:

        它对我有用。正如 Michiel 所建议的,我从 proguard 4.6 中替换了 proguard.bat,现在我可以导出已签名的应用程序而不会出现错误。谢谢老哥。

        【讨论】:

          【解决方案8】:

          Android SDK Tools Rev 16 附带有这个问题的ProGuard 4.4。我通过替换 android-sdk\tools\proguard 文件夹中的文件升级到 4.7,这解决了我的问题。

          谢谢

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-06-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多