代码之家  ›  专栏  ›  技术社区  ›  Langusten Gustel pskink

小牛队更新后SDK管理器损坏

  •  6
  • Langusten Gustel pskink  · 技术社区  · 11 年前

    在将我的MacBook更新到Mavericks之后,我重新意识到SDK管理器不再正常工作。当我点击向下箭头下拉文件夹内容时,管理器有一些重绘问题(图片)。。。我可以接受,但再也不可能安装新的软件包了。。。

    有人知道怎么解决这个问题吗?

    由于SDK Manager是用Java编写的,因此应该是JRE问题(?)。

    Android SDK Manager Window - buggy

    [编辑]

    我检查了我的iMac是否也出现了这个问题,而且它确实(独立)出现了。还有其他人吗?

    4 回复  |  直到 11 年前
        1
  •  1
  •   David Gassner    11 年前

    我也有同样的问题。在我安装了Oracle最新的JDK 7 for Mac(7u45)后,问题得到了解决,该版本位于:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

        2
  •  1
  •   mgol    11 年前

    Android模拟器可以很好地与Java 6配合使用。您可以通过创建脚本来强制它使用此版本:

    #!/bin/sh
    
    export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
    exec "PATH_TO_ADT_BUNDLE/sdk/tools/android" $* &>/dev/null &
    

    改变 PATH_TO_ADT_BUNDLE 到你有的地方 adt-bundle-mac-... 目录

    不幸的是,它不能与已经存在很长时间的Java7一起正常工作,但您可以暂时使用变通方法。

        3
  •  0
  •   miha    11 年前

    我认为问题出在Java版本7上。我的操作系统Mavericks上有java7,我也看到了同样的问题。然后我查看了android可执行文件(这是一个bash脚本) set -ex 通过这种方式,我看到了正在运行的确切命令:

    /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java -Xmx256M -XstartOnFirstThread -Dcom.android.sdkmanager.toolsdir=/android/android-platform-v1-1/sdk/tools -classpath /android/android-platform-v1-1/sdk/tools/lib/sdkmanager.jar:/android/android-platform-v1-1/sdk/tools/lib/swtmenubar.jar:/android/android-platform-v1-1/sdk/tools/lib/x86_64/swt.jar com.android.sdkmanager.Main update sdk
    

    所以我只是用1.6.0版本的java替换了java,在我的安装中,它位于: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java Android SDK管理器突然工作了!

    请参阅相关内容 bug report .

        4
  •  0
  •   user2734823    11 年前

    还需要帮助吗?有一种方法可以在不修改任何内容的情况下实现这一点,尽管这是一种痛苦。

    android SDK管理器一出现,您应该会看到窗口底部发生了一系列更改(xml刷新等)。。。

    你想做的是快速向下滚动到你想要选中的框,然后点击它 之前 SDK管理器完成获取其数据。您会注意到,一旦管理器完成刷新,您的框将保持选中状态!(如果在管理器获取数据后尝试选中该框,则无法选中该框)。 此时,您可以单击小箭头展开选中的部分,然后从这里可以进一步细化您希望为该部分安装的特定项目。当然,这种方法意味着您可能需要为您想要安装的每个部分重新启动SDK管理器。

    关于重绘问题。。。如果您快速滚动到窗口底部,然后返回到原来的位置,您会注意到这会迫使窗口重新绘制自己(并显示更新的数据)。

    -我知道这不是一个真正的“修复”,但它 一种使用SDK管理器的方法。希望我帮了忙,如果我使用section这个词没有意义,我很抱歉,哈哈。