Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发环境
作者:hebedich 发布时间:2023-06-17 06:47:11
一直使用Eclipse环境开发Android,也尝鲜使用过Android Studio去开发,各种IDE配合Android SDK及SDK原生的Android Emulator的个中滋味也许大家都有领略,Eclipse的超长启动时间似乎是在与Android Emulator这个超级大腕比看谁更姗姗来迟,Android Studio的大版本号从推出来到两年后的今天仍然一直游走在1之下,不的不说襁褓婴儿不知道什么时候能长大,不得不说大哥我真不敢用你。
本文则介绍Lorinnn在开发Android过程不断跌打滚爬中安装的另一套开发环境,相信你在使用后同样有不错的体会。
Intellij IDEA: 在程序员眼中针对Java开发的IDE不在少数,可不少人仍在钟情Eclipse,面向Eclipse的插件也不计其数,诚然Eclipse是一款很不错的开源软件,但如果你追求更高开发效率,追求更创新耀眼的GUI界面,这款被公认为最好的Java开发工具值得你拥有。
Android SDK:Google Android必备SDK,无论使用何种IDE开发,首当其冲你必须下载安装。
Genymotion Emulator:如果你已经对原生Android Emulator忍无可忍,如果你又有幸看到这个篇文章,你会发现原来Android Emulator也会这么快,原来Android Emulator的世界也可以这么美好,Genymotion是一套完整的工具,它提供了Android虚拟环境,它简直就是开发者、测试人员、推销者甚至是游戏玩家的福音。我曾在神器中快速介绍过Android 超快模拟器Genymotion,秒杀真机,今天正式将其作为我们的开发环境的专用Emulator。
下面我将详细介绍如何安装这套环境。
安装环境:Windows 7 64bit
安装软件:JDK1.6,Intellij IDEA 12,Android SDK, Genymotion
安装JDK
JDK这个东西就不用讲了,到ORACLE官网直接下载即可,需要注意的是截至目前(2014/05/13)最新的JDK已经更新到了8u5了,但是为了兼容环境中其它软件,建议安装JDK(6/7)。我安装到的是JDK7。安装过程很简单,直接下载双击安装就OK,无需添加环境变量。
安装Intellij IDEA
在这里我建议使用其作为开发Java程序的IDE,下载地址和官网:http://www.jetbrains.com/idea/,需要提示的是Intellij IDEA是收费软件,不过在泱泱华夏,这点事情可难不倒我们,百度一搜'intellij idea 注册码',应该就能解决你的问题,注意下载版本,我安装的是Intellij IDEA12。
下载Android SDK
接着安装Andoird SDK,下载地址:http://developer.android.com/sdk/index.html
现在Android SDK捆绑了ADT和Eclipse,不过没有关系我们可以直接下载,解压之后可以看到sdk被放到了一个单独目录,可以单独使用sdk即可。
Intelij IDEA使用Android SDK
打开IDEA之后并绑定Android SDK,我们就可以使用其开发Android程序了,如下:
打开Intellij idea,并请选择Create New Project。
在左下角点击黑色边框内的Android Module,并在右侧pannel中填写Project Name和Project Location,接着最重要的一步就是选择Project的SDK,点击后侧的New,找到刚才解压的SDK路径就好,比如我将要开发一个HelloWorld程序,填写如上。
接下来就和使用Eclipse一样,填写Package name和Activity name,最重要的一项是Target Device一定要选择Show device chooser dialog。
至此,我们已经可以使用Android原生Emulator来运行这个程序了,但这个并非是我们的最终目标,我们需要使用Genymotion Emulator来替代这个挫bi。
安装Genymotion
Genymotion竟然也出了中文版,看来其也开始重视中国市场了,当然不管是中文还是英文我们得首先下载并安装这货,传送门。
这里省去下载和安装过程,安装完毕后,发现这货是需要注册的(因为其提供云端服务),如下:
登录之后便可以选择你需要的ROM了,因为Genymotion整合了市场最为主流的真机的ROM,然后再根据你下载的ROM创建多个虚拟设备,比如我已经下载几乎所有其提供的ROM,如下:
安装Genymotion插件
安装完毕Genymotion之后,接下来的动作是为Intellij安装Genymotion插件,只有为Intellij安装上它的插件,我们才能在Intellij上自由的调用Genymotion。
插件下载地址:https://cloud.genymotion.com/page/launchpad/download/ (同样需要登录)或者尝试下载:http://plugins.genymotion.com/plugins/idea/1.0.3/genymotion-idea-plugin-20140326.jar
The installation of the plugin can be done by launching IDEA and going to “File / Settings” menu, then go to “IDE Settings” section, then “Plugins”.
Click on “Browse repositories” button and search “Genymotion” entry. Follow the steps indicated by IDEA.
这是从官网上抄袭的安装指南,大家不难看明白,所以至此我们的环境已经打造完毕。
测试环境
打开Intellij,并确保Genymotion的插件安装正确,下图的上方的红色剪头即为Genymotion的插件按钮,通过点击这个按钮,我们需要创建Android virtual device,我已经创建了多个,在此我选择lorin_Nexus开头的,并启动它。
下图是已经启动的Genymotion模拟器,是不是真的很快很酷!?
接着我们可以创建一个Android工程,并将该工程置于Android开发状态,最后一张图的红色框住的部分,默认为测试状态,然后点击红色框框的运行按钮,即会调出下方的Choose Device窗口,这就是我在强调的最重要的一项是Target Device一定要选择Show device chooser 的dialog原因。
点击红色框框后方的运行按钮,你的程序就被Target到Genymotion模拟器中啦,怎么样,速度真的很棒哦,更多关于Genymotion的功能将会在接下来的开发过程中一一介绍。
猜你喜欢
- 一个是新浪微博,腾讯微博的分享按钮,一个是他们的绑定情况(其实就是是否授权)。点击微博分享中新浪或腾讯按钮,就进行相应的授权(若没授权),显
- 引语:工作中有时候需要在普通的对象中去调用spring管理的对象,但是在普通的java对象直接使用@Autowired或者@Resource
- 一、先看下项目结构CodeGenerator:生成器主类resources下的mapper.java.vm:一个模板类,用以在生成dao层时
- JSON.toJSONString()空字段不忽略修改使用JSON.toJSONString(object)方法,返回的json中,默认会将
- 本文实例讲述了C#获取网页源代码的方法。分享给大家供大家参考。具体如下:public string GetPageHTML(string u
- 本文实例为大家分享了Unity实现场景漫游相机的具体代码,供大家参考,具体内容如下前言拿到场景后总喜欢在场景里面玩一段时间,那这个脚本就是你
- 你知道String、StringBuilder、Stringbuffer的区别吗?当你创建字符串的时候,有考虑过该使用哪个吗?别急,这篇文章
- 上一篇Flutter页面路由及404路由拦截实现介绍了使用路由来实现页面的跳转,从而简化页面之间的耦合,并可以实现路由拦截。在实际开发中,我
- 需求:有些时候,我们需要连接多个数据库,但是,在方法调用前并不知道到底是调用哪个。即同时保持多个数据库的连接,在方法中根据传入的参数来确定。
- 文章来源:互联网在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。 关于多module的配置就不说了,只需要用不
- 本文首发于https://blog.chens.life/2020-2-idea.html参考链接亲测试以下版本成功激活附激活教程。idea
- 目标效果: 点击动画按钮之后每张牌各自旋转 散开到屏幕上半部分的任意位置之后回到初始位置 比较像LOL男刀的技能动画 : )1: 创建卡牌对
- 一、Flutter代码的启动起点我们在多数的业务场景下,使用的都是FlutterActivity、FlutterFragment。在在背后,
- [LeetCode] 205. Isomorphic Strings 同构字符串Given two strings s
- 目录效果展示剪裁 WidgetClipRRect(圆角矩形剪裁)其他属性其他形状剪裁ClipOval(椭圆剪裁)其他属性ClipRect(矩
- 本文主要介绍我为桌面和 Web 设计的一个超级秘密 Flutter 项目使用了画布和可拖动节点界面。本教程将展示我如何使用堆栈来使用小部件完
- 什么是队列结构一种线性结构,具有特殊的运算法则【只能在一端(队头)删除,在另一端(队尾)插入】。分类:顺序队列结构链式队列结构基本操作:入队
- 最近碰到个需求,是希望在Unity有一个按钮,打开后直接跳转淘宝app,打开商品页面。百度了下没有相关的文章,于是我在此分享下。之前开发游戏
- Lambda 表达式Lambda 表达式是现代 C++ 中最重要的特性之一,而 Lambda 表达式,实际上就是提供了一个类似匿名函数的特性
- 协议做如下规定:规定数据协议:序列号 长度 状态字 数据长度 数据1 &n