【问题标题】:Android ProGuard Unable to access jarfile ..\lib\proguard.jar in IntelliJ 11.1Android ProGuard 无法在 IntelliJ 11.1 中访问 jarfile ..\lib\proguard.jar
【发布时间】:2012-04-12 16:33:57
【问题描述】:

从 IntelliJ 11.1 运行 Export Singed Application Package 时,我遇到了关于 Unable to access jarfile ..\lib\proguard.jar 的问题。

环境:

  • 在 Android SDK r16 中运行 proguard 成功
  • 在 Android SDK r17 中运行 proguard 失败

问题是 IntelliJ 设置错误还是 IntelliJ 11 错误?

【问题讨论】:

    标签: android intellij-idea proguard


    【解决方案1】:

    编辑$ANDROID_SDK\tools\proguard\bin\proguard.bat并将绝对路径设置为PROGUARD_HOME

    可能看起来像这样:

    SET PROGUARD_HOME="c:\android-sdk\tools\proguard"
    java -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
    

    【讨论】:

    • 它现在可以工作了,谢谢,我已经标记了你的答案,因为它已经用完整的 SET 命令清楚地解释了。虽然请改成。 SET PROGUARD_HOME= "%ANDROID_HOME%"\tools\proguard
    【解决方案2】:

    如果您在 Android SDK 路径中的任何位置都有空格,也会出现此问题。解决方法是修改$ANDROID_SDK\tools\proguard\bin\proguard.sh。更改最后一行:

    java -jar $PROGUARD_HOME/lib/proguard.jar "$@"
    

    java -jar "$PROGUARD_HOME/lib/proguard.jar" "$@"
    

    【讨论】:

    • 这解决了我在 OSX 上使用默认 Android Studio/ProGuard 设置的问题。
    • 当你在它的时候,你应该在同一目录下修改proguardgui.sh和retrace.sh
    • 这有效,在我安装 Android Studio 的情况下,它安装为“Android Studio.app”(注意空格)现在到更多 ProGuard Hell,因为它无法找到引用。
    • 现在显示“错误:无法访问 jarfile $PROGUARD_HOME/lib/proguard.jar”。 :(
    • 1+ 我将 Eclipse 从 32 位切换到 64 位 ubuntu 并遇到了同样的问题。但以上解决了它。谢谢:)
    【解决方案3】:

    在 Mac 上:

    /Applications/Android Studio.app/sdk/tools/proguard/bin/proguard.sh
    

    更改最后一行:

    java -jar $PROGUARD_HOME/lib/proguard.jar "$@"
    

    java -jar "$PROGUARD_HOME/lib/proguard.jar" "$@"
    

    【讨论】:

    • 1+ 我将 Eclipse 从 32 位切换到 64 位 ubuntu 并遇到了同样的问题。但以上解决了它。谢谢:)
    • 请在这篇文章中提供您的意见。 stackoverflow.com/q/32783837/1503130 挣扎了几个小时。
    【解决方案4】:

    在我的 Windows 机器上发生这种情况的原因是我在文件系统中移动了 Android SDK 的位置,但我没有更新我的 PROGUARD_HOME 系统变量。 PROGUARD_HOME 系统变量在{android-sdk}\tools\proguard\bin\project.bat 文件中被引用。

    额外信息:

    PROGUARD_HOME 系统变量的值被设置为旧 Android SDK 目录中的路径。我以后不应该遇到这种情况,因为我现在创建了一个指向我的 Android SDK 的 ANDROID_HOME 系统变量,并且我的 PROGUARD_HOME 系统变量现在定义如下:

    %ANDROID_HOME%\tools\proguard
    

    如果我将来重新定位我的 Android SDK,我所要做的就是更新我的 ANDROID_HOME 系统变量。

    【讨论】:

    【解决方案5】:

    在我更新工具 (26.6.2)+ 从 xp 迁移到 win7 后出现此问题。

    可能的原因可能在 proguard 位置,因为某些文件夹的路径文件夹名称中可以有空格(例如“程序文件”)。 就我而言,我做了上面指出的操作,但将整个 proguard 文件夹复制到了新位置(我的新文件夹变成了“c:\proguard”)并将其路径放到 PROGUARD_HOME

    SET PROGUARD_HOME="c:\proguard"
    

    在 $ANDROID_SDK\tools\proguard\bin\proguard.bat 文件中。


    另一种可能的方式: 工具升级后,我找到了非常简单的解决方案: 查找环境变量 Windows 上的 PROGARD_HOME 并编辑其路径 (在我的情况下,目前):

    not  C:\Program Files\Android\android-sdk\tools\proguard 
    

    但是“C:\Program Files\Android\android-sdk\tools\proguard”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      • 2018-12-17
      • 2022-12-05
      • 2015-11-24
      • 1970-01-01
      相关资源
      最近更新 更多