OS X 中 Android Studio 使用 JDK 8 作为 IDE JDK 问题与经验 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
banxi1988
V2EX    Android

OS X 中 Android Studio 使用 JDK 8 作为 IDE JDK 问题与经验

  •  
  •   banxi1988 2015-06-02 21:42:41 +08:00 16946 次点击
    这是一个创建于 3797 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前的问题是,通过 LaunchPad, Alfred 等启动.都默认使用的是 Java 6
    按此处 [Mac OSX JDK Selection](http://tools.android.com/tech-docs/configuration/osx-jdk) 的说明

    ```
    ~ echo $STUDO_JDK
    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/
    ```
    还是启不了作用. 在 `/etc/profile` 也是如此.

    只有在终端打开 Android Studio 如: ` ~ open /Applications/Android\ Studio.app`
    才会读取设置的 `STUDIO_JDK` 环境变量.
    不过Android Studio 也是属于那种,打开就能干一天活的IDE. 所以也不太麻烦.

    问: 如何知道 Android Studio 运行所使用的 Java 版本?
    答: 1. 打开"活动监视器" 2. 搜索 Android Studio 3. 选中 Android Studio 进程 4. 点击工具栏中感叹号图标. 4. 在新打开的对话框中,点击 "打开的文件与端口" 选项卡.
    如果是Java 6 就相应打开是 Java 6 的库文件. Java 8 的则是Java 8的
    如:

    > /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/libverify.dylib


    PS: 将 Android Studio 换成使用 Java 8的感受
    1. 外观上. 字体应该说更细腻了 (之前的 Java 8 版本 有 subpixel渲染问题,现在OK了)
    2. 速度更快了 (我是觉得速度 有点慢,才想着折腾 Java 8的), 当然速度快,也跟我调整过 jvm 参数有关.
    3. 使用最新版本 JDK 心里有点点小高兴
    19 条回复    2015-10-02 18:30:04 +08:00
    cielpy
        1
    cielpy  
       2015-06-02 21:57:47 +08:00
    我直接下载安装了JDK,安装Android Studio启动,一切正常。
    JDK是在官网下的。http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    然后在Android Studio的关于能看到使用的JDK版本。
    mgcnrx11
        2
    mgcnrx11  
       2015-06-02 22:14:04 +08:00
    显示包内容,Content-->Info.plist
    mgcnrx11
        3
    mgcnrx11  
       2015-06-02 22:14:51 +08:00
    显示包内容,Content-->Info.plist

    修改<key>JVMVersion</key>
    <string>1.8</string>
    这个Intellji IDEA的设置,不过应该一样

    错手连击了
    allan1st
        4
    allan1st  
       2015-06-02 22:27:32 +08:00
    @mgcnrx11 不行的,AS 的网页上说 Please note: Do not edit Info.plist to pick a different version. That will break not only the application signature, but also future patch updates to your installation.
    allan1st
        5
    allan1st  
       2015-06-02 22:31:33 +08:00   2
    OS X Yosemite 下面可以用 launchctl setenv 来设置全局变量。但是要每次开机运行,我搜索了一下有个解决方案。
    打开系统的 Script Editor
    输入
    do shell script "launchctl setenv STUDIO_JDK \"/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk\"" (当然要换成你自己的路径)
    然后 cmd s,选择类型为 Application。放到你自己想放的地方。
    打开系统设置,用户与群组选择你自己的名字,选择登录项,把刚刚生成的 Application 加入。
    注销重新登录,搞定。
    banxi1988
        6
    banxi1988  
    OP
       2015-06-02 23:06:03 +08:00
    @mgcnrx11
    正如 @allan1st 所引用的这样, 修改 Info.plist 是不好的做法, Java 8 刚出来时,我这样改过 IDEA (但是当时的字体渲染确实有问题)


    @cielpy 估计你误解我的意思了. 在 Android Studio 中看到的版本是 Project JDK. 我讨论的是 IDE JDK.
    详情参考我帖子中提到的链接.
    run2
        7
    run2  
       2015-06-02 23:11:39 +08:00
    我的也是正常的 AS1.3 preview 1
    jdk
    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jli/libjli.dylib
    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/libverify.dylib

    先安的jre 发现没用 安的jdk
    allan1st
        8
    allan1st  
       2015-06-02 23:26:05 +08:00
    @banxi1988 现在字体渲染正常了么?我用 jdk 1.8.0 45 好像没有次像素渲染,感觉很差。
    vjnjc
        9
    vjnjc  
       2015-06-02 23:36:43 +08:00
    多谢分享,最近在玩angularJS,mark一下
    Lesilva
        10
    Lesilva  
       2015-06-02 23:38:43 +08:00
    我用jdk 1.8.0 45 字体渲染看起来很细很不舒服
    zhouquanbest
        11
    zhouquanbest  
       2015-06-03 00:21:27 +08:00
    换AS的JDK没任何意义啊 那个相当于IDEA的JRE版本 而且非Mac的JDK1.6 Swing渲染很丑的

    如果是project要用1.8 改gradle就可以
    Lonely
        12
    Lonely  
       2015-06-03 00:38:46 +08:00
    换了有啥意义?
    banxi1988
        13
    banxi1988  
    OP
       2015-06-03 07:57:24 +08:00
    @allan1st 我使用下来 subpixel 的渲染是有的.
    只是默认情况下如 @Lesilva 所说,比较精细 但是调整一下字体大小就可以了.
    Appearance 中的字体可以保持不变够了.
    Editor 中的字体调整为 13 使用默认字体 Menlo


    @zhouquanbest
    我用 Android Studio, 设置主题为 Darcula 外观感觉一切 OK 啊.
    @Lonely
    Apple 已经不维护 Java 更新了. Java 8 也比较成熟了. 换了试试. 拥抱变化.
    zhouquanbest
        14
    zhouquanbest  
       2015-06-03 11:17:24 +08:00
    @banxi1988
    呃 字体太细了 还是不太能接受。。。。。
    zhouquanbest
        15
    zhouquanbest  
       2015-06-03 11:44:23 +08:00
    @banxi1988
    优化还是没做好
    我最早用1.7 1.8时都挺丑 现在是retina屏下渲染不错 但换个1080p的屏 瞬间看到狗牙
    allan1st
        16
    allan1st  
       2015-06-03 19:04:27 +08:00
    @banxi1988 JetBrain 系的有没有办法调字重啊,这个渲染配上默认的 weight 完全无法接受啊。非 Retina 屏,25 寸 2K 屏。
    WhiteBase
        17
    WhiteBase  
       2015-10-02 13:24:58 +08:00   1
    IntelliJ idea 15 EAP 版本的 JDK 的确是能够解决渲染问题,而且能够单独提取出来用,设置好 IDEA_JDK 变量就能正常使用,如同 @allan1st 提到的那样。
    allan1st
        18
    allan1st  
       2015-10-02 18:04:26 +08:00
    @WhiteBase 替换下来很完美,不需要再装苹果那个 1.6 的 JDK 了。谢谢。
    allan1st
        19
    allan1st  
       2015-10-02 18:30:04 +08:00
    @WhiteBase 又用了下发现一个问题,自动完成没有次像素渲染,必须移动光标 focus 以后才渲染正确。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2644 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:16 PVG 17:16 LAX 02:16 JFK 05:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86