前段时间换电脑,在搭建开发环境时,遇到了些小问题,下面简单说说这些小坑。
因为开发场景比较特殊,我多数时间会在windows下做开发,但有时还会切换到mac os下做些开发,刚开始时,尝试在mac os下安装虚拟机,然后在安装windows,但是实际体验不是很好,有时会有点卡的感觉,纠结过后,还是选择安装双系统,虽然系统切换比较繁琐,但是独立安装的windows,使用上操作更流畅、显示效果也更佳。mac os上使用bootcamp安装windows非常方便、省事,大体流程是:准备系统镜像文件(我这里是win
7)和大于4g的优盘,然后打开bootcamp,按照提示,先是制作系统盘,然后下载驱动,然后重启开始安装,安装前,先选择分区大小,然后格式化bootcamp所在的盘,也就是即将安装系统的所在盘,再然后就是正式的系统安装过程,重启几次后,安装完毕,在打开u盘,直接进入bootcamp文件夹,点击setup开始安装驱动,分分钟声卡、显卡、网卡等等驱动完全安装好,这时重启电脑,显示的画面也流畅了,也有windows开机启动音了,同时也可以使用无线上网了。
我以前用的mac pro搭载的系统是mavericks,那时用bootcamp安装win7是没有问题的,现在的系统是yosemite,系统变了,问题也就出来了。一切看似很美好的安装完win 7后,却惊奇的发现在什么也不做的情况下,cpu飙到了30%,一查发现有个名为”系统中断“的进程,一直在消耗着cpu。于是查了很多资料,有的说是网卡驱动问题,有的说是显卡驱动问题,分别卸载并安装最新驱动或者老版本驱动后,仍然无济于事,但折腾这一番后发现确实是显卡驱动问题,因为只要卸载显卡驱动,cpu立刻恢复正常,当时那个抓狂,后来无意中在一个论坛看到有网友说,休眠一下,然后重新启动电脑就可以了,怀着无比忐忑和无奈的心情尝试了一下,居然可以了,虽然是个治标不治本的方法,但是经过休眠在重启后,至少cpu恢复正常了,可以正常使用电脑了。究其原因,应该是驱动兼容性问题,导致开机后cpu不断查询显卡状态,以致陷入死循环,而休眠再重启后,cpu应该获取到了显卡状态值或者至少获取到了一个默认值,这样跳出循环,也就回到正常工作状态了。
系统安装好后,那就开始搭建开发环境吧,作为一个开发人员,开发环境搞不定,那实在太说不过去了,这里就不图文并茂的写太详细了,只是把几处细节简单写下。
(1)有大量的文章提到安装完jdk后,要设置JAVA_HOME环境变量什么的,其实不论windows环境还是mac os环境,环境变量都是可设置也可不设置,关键看你会不会用到这个环境变量。一般使用eclipse这样的集成开发环境,都会自动查找执行,除非还在使用命令行敲些java的编译、运行命令,这个还是需要环境变量的;
(3)windows环境下,使用ndk编译c/c++代码,以前看过相关资料,说是要先安装Cygwin,以使用gcc/g++编译器,实际上,新版本的ndk,如8/9/10等,已经自带了编译器,没必要在安装Cygwin了,安装一次Cygwin,也是一件耗时耗力的事。下图显示的是我的工程ndk设置,比较省事,另外,mac os下,与上述设置一样,唯一的区别是编译命令设置选项将ndk-build.cmd修改为ndk-build即可;
(4)mac os下已经默认集成了jdk,终端下输入java -version即可查看当前jdk的版本信息。开始不知道,然后结结实实的踩了一个坑,过程大概是:下载支持mac os的最新版jdk,然后安装,点击运行eclipse,提示版本不兼容,无法运行,直接晕倒,最后只好默默的卸载新版本的jdk,然后恢复系统默认的jdk,再次运行eclipse,一切ok。