Intellij IDEA, Android Studio, Eclipse,Gradle, Maven, Ants关系概述

越来越多的Android项目开始抛弃Eclipse+ADT的开发环境采用Android Studio+Gradle进行开发,在Github上clone源码偶尔又会发现需要采用Maven进行构建,这些工具集之间到底存在什么关系呢?

0. 为什么要引入这些IDE和Build Tools

借用网上的一句话来回答引入这些IDE和Build Tools的原因:
”一般而言,一个比较正规的项目都不会基于IDE 进行构建,一般会用Ant, Maven, Gradle ,为什么不用IDE呢?首先是IDE的选择,有人喜欢用Vim,有人喜欢用Eclipse,还有人喜欢用Intellij IDEA,有人喜欢Charge的,有人喜欢Free的,众口难调。并且对于公开的项目,你用什么IDE就 相当于是为这个IDE 打广告了^_^。所以,一般而言都是用构建工具而不是用IDE。实际上各种IDE 也是基于各种构建系统,也正是不同的IDE的构建方式不同,所以要让不同的IDE间能一起开发,于是需要一个统一的构建工具。扯到构建工具, 一般C/C++ 项目用make或者 premake进行构建, 而Java 一般用Ant, Ivy, Gradle, Maven等进行构建,有的还直接使用Shell进行构建, 所以去看开源项目就是长见识的时候。”

1. JetBrains Intellij IDEA,Android Studio集成开发环境(与Visual Studio类似)

JetBrains Intellij IDEA,Android Studio(基于Intellij IDEA开发的Android App集成开发环境)和Eclipse都属于集成开发环境(IDE)。

  • JetBrains Intellij IDEA (https://www.jetbrains.com/idea/)
  • Android Studio (http://developer.android.com/sdk/index.html)
  • Eclipse(http://www.eclipse.org/)

这些集成开发环境可以类比为Microsoft提供的开发C/C++代码的Visual Studio

2. Gradle, Maven, Ants项目构建工具(与Make类似)

Gradle(https://gradle.org/gradle-download/)是Android Studio中用来构建Android Application的构建工具
Maven(http://maven.apache.org/)和Ants(https://ant.apache.org/)都是Apache提供的用来构建Java项目的工具,其中Eclipse中的Java项目默认就采用Ants进行构建

这些构建工具可以类比为Linux下编译C/C++工程使用的Make构建工具。

以上为个人的摸索和总结,如有问题欢迎留言交流和批评指正。

你可能感兴趣的:(Android开发笔记)