【问题标题】:Open Java applications fail silently on OS X Mavericks开放式 Java 应用程序在 OS X Mavericks 上静默失败
【发布时间】:2013-11-04 20:30:06
【问题描述】:

在 Mavericks 更新后打开 Intelli J 或 Android Studio 时没有任何反应,静默失败。

Java 和 javac 都在命令行下工作。

从命令行打开应用程序会出现以下错误: LSOpenURLsWithRole() failed with error -10658 for the file /Applications/Android Studio.app.

从命令行打开 Intelli J 的 idea_appLauncher (/Applications/...app/Contents/MacOS/idea_appLauncher) 会泄露更多信息:

someuser@machine:~$ /Applications/IntelliJ\ IDEA\ 12\ CE.app/Contents/MacOS/idea_appLauncher ;出口;没有 Java 运行时 目前,请求安装。登出

[处理完成]

即使它是 PATH 的一部分并且设置了 JAVA_HOME 并且它没有给出“请安装 Java 运行时”提示,显然 Mavericks 也没有选择我的 Java 安装。

【问题讨论】:

  • 我在使用“brew cask”安装 java 和 intellij 后遇到了同样的问题。可惜,我真的很喜欢命令行安装而不是手动安装。

标签: java intellij-idea android-studio osx-mavericks


【解决方案1】:

在我的情况下,我看到了类似的错误,但错误代码不同:

LSOpenURLsWithRole() failed for the application /Applications/IntelliJ IDEA 13 CE.app with error -10810.

这对我有用: 只需编辑文件 /Applications/IntelliJ\ IDEA\ 13\ CE.app/Contents/Info.plist 并将关键字段 JVMVersion1.6* 更改为 1.7*

我的堆栈:

  • IntelliJ IDEA 13 CE
  • java版本“1.7.0_51”
  • OS X 10.9.1

【讨论】:

  • 这解决了使用“brew cask”安装java和intellij时的情况
【解决方案2】:

解决方案:

手动下载并安装Java Runtime

您还需要从设置/安全和隐私中启用所有来源的应用程序。

【讨论】:

    【解决方案3】:

    这是由于 android studio/intellij 仍在使用旧的“JavaLaunching”框架,该框架已随 Java 7 弃用。要么安装 JDK 6 的生命周期结束版本,要么请求 Android Studio 升级以使用 oracle 的JDK 应用程序包。

    我真的很讨厌安装 JAVA 6,所以我的机器上有两个 JDK。所以我破解了 Android Studio 文件,以便它们可以从 Dock 中启动:

    1. 将工作室(/Applications/Android Studio.app/Contents/MacOS)文件从 JavaLauncher 存根更改为 shell 脚本,如下所示:
    #!/bin/bash 导出 JAVA_HOME=`/usr/libexec/java_home` 回声 JAVA_HOME=$JAVA_HOME export APP_PACKAGE='/Applications/Android Studio.app' 执行 $JAVA_HOME/bin/java -cp $JAVA_HOME/lib/tools.jar:"$APP_PACKAGE"/lib/bootstrap.jar:"$APP_PACKAGE"/lib/extensions.jar:"$APP_PACKAGE"/lib/util.jar :"$APP_PACKAGE"/lib/jdom.jar:"$APP_PACKAGE"/lib/log4j.jar:"$APP_PACKAGE"/lib/trove4j.jar:"$APP_PACKAGE"/lib/jna.jar -Didea.platform.prefix =AndroidStudio -Didea.paths.selector=AndroidStudioPreview -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB =50 -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:"$APP_PACKAGE"/lib/boot.jar -XX:MaxPermSize=256m -Xdock:icon="$APP_PACKAGE"/Contents/Resources/AndroidStudio.icns com .intellij.idea.Main

    请务必chmod +x ./studio

    1. 删除/Applications/Android Studio.app/Contents 目录下Info.plist 文件中的java 部分。否则,Apple 仍会要求您安装 JDK 6:编辑文件并删除整个 java 部分。差异看起来像:http://pastebin.com/QS8M45cr

    【讨论】:

      【解决方案4】:

      我有 java 1.7,但以上都没有工作或匹配我的问题日志。静默启动 Android Studio 失败。我恢复到 java 1.6,行为相同,并且都有相同的错误日志(见下文)。

      我的错误日志显示:

      android studio taskgated failed to get signing info for  (cannot make code: invalid signature (code or signature have been modified))
      

      StackOverflow 上对该特定错误日志的大多数答案是您必须在安全和隐私中“允许从任何地方下载应用程序”。

      然后我看到@jmcejuela 做了什么,效果很好,我编辑了

      /Applications/Android\ Studio.app/Contents/Info.plist 
      

      改变了

      1.6*
      

      1.7*
      

      我的环境:

      • Android Studio 0.4.2
      • java 版本“1.7.0_45”
      • OSX 版本 10.8.5

      【讨论】:

        【解决方案5】:

        在我的例子中,我在Settings->Security&Privacy->General Tab 下看到了适用于 Android Studio 的 "Allow it anyway" 选项。当我点击它时,它消除了对 Android Studio 的限制。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-07
          • 2014-04-09
          相关资源
          最近更新 更多