OS X 中 Android Studio 使用 JDK 8 作为 IDE JDK 问题与经验 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
banxi1988

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

  •  
  •   banxi1988 Jun 2, 2015 18042 views
    This topic created in 3982 days ago, the information mentioned may be changed or developed.
    目前的问题是,通过 LaunchPad, Alfred 等启动.都默认使用的是 Java 6
    按此处 [Mac OSX JDK Selection](http://tools.android.com/tech-docs/configuration/osx-jdk) 的说明

    ```
    ~ echo $STUDIO_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 replies    2015-10-02 18:30:04 +08:00
    cielpy
        1
    cielpy  
       Jun 2, 2015
    我直接下载安装了JDK,安装Android Studio启动,一切正常。
    JDK是在官网下的。http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    然后在Android Studio的关于能看到使用的JDK版本。
    mgcnrx11
        2
    mgcnrx11  
       Jun 2, 2015
    显示包内容,Content-->Info.plist
    mgcnrx11
        3
    mgcnrx11  
       Jun 2, 2015
    显示包内容,Content-->Info.plist

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

    错手连击了
    allan1st
        4
    allan1st  
       Jun 2, 2015
    @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  
       Jun 2, 2015   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
       Jun 2, 2015
    @mgcnrx11
    正如 @allan1st 所引用的这样, 修改 Info.plist 是不好的做法, Java 8 刚出来时,我这样改过 IDEA (但是当时的字体渲染确实有问题)


    @cielpy 估计你误解我的意思了. 在 Android Studio 中看到的版本是 Project JDK. 我讨论的是 IDE JDK.
    详情参考我帖子中提到的链接.
    run2
        7
    run2  
       Jun 2, 2015
    我的也是正常的 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  
       Jun 2, 2015
    @banxi1988 现在字体渲染正常了么?我用 jdk 1.8.0 45 好像没有次像素渲染,感觉很差。
    vjnjc
        9
    vjnjc  
       Jun 2, 2015
    多谢分享,最近在玩angularJS,mark一下
    Lesilva
        10
    Lesilva  
       Jun 2, 2015
    我用jdk 1.8.0 45 字体渲染看起来很细很不舒服
    zhouquanbest
        11
    zhouquanbest  
       Jun 3, 2015
    换AS的JDK没任何意义啊 那个相当于IDEA的JRE版本 而且非Mac的JDK1.6 Swing渲染很丑的

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


    @zhouquanbest
    我用 Android Studio, 设置主题为 Darcula 外观感觉一切 OK 啊.
    @Lonely
    Apple 已经不维护 Java 更新了. Java 8 也比较成熟了. 换了试试. 拥抱变化.
    zhouquanbest
        14
    zhouquanbest  
       Jun 3, 2015
    @banxi1988
    呃 字体太细了 还是不太能接受。。。。。
    zhouquanbest
        15
    zhouquanbest  
       Jun 3, 2015
    @banxi1988
    优化还是没做好
    我最早用1.7 1.8时都挺丑 现在是retina屏下渲染不错 但换个1080p的屏 瞬间看到狗牙
    allan1st
        16
    allan1st  
       Jun 3, 2015
    @banxi1988 JetBrain 系的有没有办法调字重啊,这个渲染配上默认的 weight 完全无法接受啊。非 Retina 屏,25 寸 2K 屏。
    WhiteBase
        17
    WhiteBase  
       Oct 2, 2015   1
    IntelliJ idea 15 EAP 版本的 JDK 的确是能够解决渲染问题,而且能够单独提取出来用,设置好 IDEA_JDK 变量就能正常使用,如同 @allan1st 提到的那样。
    allan1st
        18
    allan1st  
       Oct 2, 2015
    @WhiteBase 替换下来很完美,不需要再装苹果那个 1.6 的 JDK 了。谢谢。
    allan1st
        19
    allan1st  
       Oct 2, 2015
    @WhiteBase 又用了下发现一个问题,自动完成没有次像素渲染,必须移动光标 focus 以后才渲染正确。
    About     Help     Adertise     Blog     API     FAQ     Solana     975 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 19:49 PVG 03:49 LAX 12:49 JFK 15:49
    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