开放Java应用程序在OS X Mavericks上无声地失败

时间:2013-10-25 16:07:02

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

在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运行时   请求安装。注销

     

[已完成处理]

Obviosuly Mavericks没有接受我的Java安装,即使它是PATH的一部分并且JAVA_HOME已设置且它没有给出“请安装Java运行时”提示符。

5 个答案:

答案 0 :(得分:14)

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

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

答案 1 :(得分:9)

解决方案:

手动下载并安装Java Runtime

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

答案 2 :(得分:5)

这是因为android studio / intellij仍然使用旧的“JavaLaunching”框架,该框架已经弃用了Java 7.您可以安装生命周期版本的JDK 6,或者请求Android Studio升级以使用oracle的JDK appbundle。

我真的不想安装JAVA 6,所以我的机器上会有两个JDK。所以我攻击了Android工作室文件,以便它们可以从Dock中启动:

  1. 将工作室(在/Applications/Android Studio.app/Contents/MacOS)文件中从JavaLauncher存根更改为shell脚本,这是它的样子:
  2. #!/bin/bash
    export JAVA_HOME=`/usr/libexec/java_home`
    echo JAVA_HOME=$JAVA_HOME
    export APP_PACKAGE='/Applications/Android Studio.app'
    exec $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

答案 3 :(得分:2)

我有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

答案 4 :(得分:1)

就我而言,我在"Allow it anyway"下看到了Android Studio的Settings->Security&Privacy->General Tab选项。当我点击它时,它删除了对Android Studio的限制。