IntelliJ IDEA 13 + Genymotion 2.3 开发环境搭建
【声明】
本文来自:http://www.cnblogs.com/smyhvae/p/4013535.html
【有修改】
【正文】【开发环境】
物理机版本:Win 7旗舰版(32位)
Java SDK版本:jdk1.8.0_20(32位)
Android SDK版本:Android 4.4(API 20)
IntelliJ IDEA版本:IntelliJ IDEA 13.1
一、IntelliJ IDEA的引入:
2013年,IntelliJ IDEA小组已经与众多业内领先的开发技术建立了非常紧密的关系:例如Android, Spring, Scala和Gradle. 这样一来,我么就能够在百舸争流中保持领先,为开发者提供最优质的开发工具,让我们体验到最尖端的开发技术。我们就先来介绍一下这几个关键词:
- JavaEE 8:为了兑现 我们“最先”而且“最优”地为所有Java开发者提供新技术支持的诺言,IntelliJ IDEA 13 全面支持Java EE 8——Oracle最新推出的企业Java平台。在最新版本的Intellij IDEA中,为CDI 1.1, JSF 2.2,JAX-RS 2.0, 批处理和其他新规范提供代码补全支持。同时,还提供对新版本应用服务器的支持,例如GlassFish 4, Wildfly(就是原来大名鼎鼎的JBoss), Tomcat 8等等。
- Spring:Spring 开发这回在新版本的IntelliJ IDEA中获得比以往更多的帮助,有了全新的Spring工具窗口,能够让用户更加便捷地在项目中上下文配置和其对应的bean类之间导航。这个新的工具 窗口还能够让用户方便地浏览MVC控制器和其对应的URL映射。IntelliJ IDEA 13同时还优化了性能,并简化了Spring项目的配置。
- Android:2013年 的Google I/O大会上,最令人惊艳之处之一就是预览版的Android Studio , 一个全新的Android集成开发环境。Android Studio是以IntelliJ IDEA开源社区版本为基础开发而成。这个利器的推出吸引了大批热情的Android开发人员,正是他们帮助IntelliJ平台取得了长足的进步,并丰 富了很多功能特性。IntelliJ IDEA 13是在Android开发者的帮助和督促下推出的首个主要发行版本,它在代码编辑器,UI设计器,SQLite数据库接入支持等很多方面都有很大的改 进。
- Gradle:另一个 IntelliJ IDEA 13的重要功能强化是重新定义了对Gradle的支持,包括改进了对项目同步功能,对依赖项和插件的代码自动补全功能,快速文档功能,和代码生成功能。 IntelliJ IDEA 13甚至能够通过Gradle file自动配置Web faces和WAR发布包。用户可以从这个介绍视频浏览一下Gradle的支持功能。
IDEA包含一个免费的Community版本(开源的)和一个收费的Ultimate版本, 都可以在Jetbrains的官网下到。Ultimate版本对JavaEE开发比Community版本好得多。但对于做Android开发的童鞋们来 说,Community版本足够了。IDEA使用Java开发而成,和Eclipse一样,支持Windows、Linux和Mac OS X。
Eclipse需要ADT插件以支持Android开发。而IDEA对Android开发的支持是内置的,不再需要其他插件。当然,Android SDK和JDK还是不可缺少的。诚然Eclipse是一款很不错的开源软件,但如果你追求更高开发效率,追求更创新耀眼的GUI界面,这款被公认为最好的 Java开发工具值得你拥有。
之前看过几篇博客,介绍了如何使用IntelliJ IDEA搭建Android集成开发环境,但是感觉不详细,所以打算自己整理一个详细的图文教程,希望能对新手(包括自己)有所帮助。
二、软件的准备:
既然要开发安卓,不管用什么开发环境,Java SDK和Android SDK都是必不可少的。下载完之后,我的软件包截图如下:
1、Java SDK的安装:
下载网站:http://www.oracle.com/index.html
由于我的操作系统是32位的,所以我下载32位的JDK版本:
下载完成之后,开始安装:
这里根据自己的喜好选择安装路径。
后面需要配置一下环境变量,具体可以参考本人的另外一篇博客:Java配置----JDK开发环境搭建及环境变量配置
2、Android SDK的下载:
现在Android SDK捆绑了ADT和Eclipse,不过没有关系,我们可以直接下载,解压之后可以看到sdk被放到了一个单独的目录,可以单独使用sdk即可。
注:网速有点慢,怎么进去你懂得。
网址不能访问,解决办法:
从下面链接下面imouto.host.txt,并将其中的内容添加到hosts文件中,即可访问
https://github.com/zxdrive/imouto.host
点击上面红框部分的文字,进入另外一个链接:
点击上方红色箭头部分的位置,获取Android SDK:
下载下来之后,将压缩包进行解压,解压之后的文件如下图所示:
上方红框部分就是我们所需要的Android SDK。
3、IntelliJ IDEA的下载和安装:
下载网站:http://www.jetbrains.com/idea/
上图中,因为是做Android开发,所以我们选择右边免费的Community版本(如果是做Java Web开发可以选择右边的Ultimate版本)。
下载完成之后,就可以安装了:
三、在IDEA中加载SDK:
安装完成IntelliJ IDEA之后,开始运行软件,第一次运行时,弹出如下对话框:
上图中,是提醒你是否有以前版本的idea设置文件,这个文件是以前使用过idea的用户的操作习惯生成的一个xml文件,导入之后可以直接使用以前的开发习惯,而对于新用户来说,基本都需要选择I don’t那一项就行。
然后我们点击Create New Project,创建一个新的工程:
注:IntelliJ IDEA中的Project,并不是真正的project,它其实跟eclipse中的workspace、visual studio中的solution是一个概念。
我们看一下下面这张表格就知道了:
eclipse | IEDA/Android Studio | |
工作区 | workspace | project |
项目 | project | module |
引用 | preference | module dependency |
之后弹出如对话框:
上图中,如果你要使用gradle构建你的Android应用(建议选这个,毕竟是现在的潮流),可以选择上图中的第一个:Gradle:Android Modle。然后弹出如下对话框:
上图中,需要加载我们之前下载好的Java SDK和Android SDK。然后选择下一步:
看到上面的这个窗口,相信大家就已经很熟悉了,这跟我们在Eclipse的插件ADT中开发是类似的。
再次强调一下:Application是工作区,module才是单个的项目。接着选择下一步:
上图可以看到,IDEA这个软件实在是太人性化了,有许多的布局可以供我们选择。选择下一步:
这样,我们的Android程序就建好了:
【方案二】
或者如果你不想用gradle构建Android程序,我们在新建工程的时候,可以选择第二个:Application Module。如下图所示:
点击下一步,弹出如下对话框:
加载好Android SDK,然后选择下一步,工程就建立好了:
四、安装Genymotion模拟器:
1、Genymotion的安装:
Genymotion无疑是目前最快最好用的模拟器。官网下载地址:http://www.genymotion.cn/
先注册,然后下载,安装VirtualBox最简单的方式就是下载包含VirtualBox的Genymotion包,如下图所示:
下载完成后,开始安装。然后运行Genymotion软件,会提示你需要创建虚拟设备,点击yes按钮开始创建虚拟设备:
使用之前注册的账号进行连接:
然后选择其中一个版本的模拟器:
这样,我们的模拟器就建好了,接下来要将模拟器和IntelliJ IDEA相关联。
2、将模拟器Genymotion和IntelliJ IDEA相关联:
首先在Genymotion的官网下载插件:
然后,打开IDEA,选择菜单栏“File---settings”,出现如下界面,并选择Plugins:
上图中,选择"Install plugin from disk",从本地加载插件,弹出如下界面:
上图中,选择我们之前下载好的插件加载即可。这样,我们在插件列表里又能多看到一个Genymotion的插件:
紧接着重启软件,让新加载的插件生效。重启软件IDEA后,选择菜单栏“View--Toolbar”,让工具栏显示出来,可以看到工具栏多了个Genymotion Device Manager的图标:
点击这个图标,弹出如下界面:
上图中,加载我们之前安装好的Genymotion文件夹即可。然后再点击这个图标,弹出如下界面:
上图中,可以看到我们之前建立好的模拟器,点击“Start”,模拟器就启动起来了:
3、将开发中的程序部署到模拟器:
选择有安卓图标的项,将点击运行:
弹出选择对话框,选中步骤2中已经运行的设备,并点击OK
运行后的效果:
大功告成。
当然了,如果要在模拟器上运行程序,还要确保模拟器加载了Android SDK:
否则的话,会报错如下: