Android Studio和带有插件的Intellij Idea之间的区别?


117

我们有一个现有的Java代码库,我们在其中使用intellij想法进行开发。

我们正在构建一个android应用程序,它将与预先存在的代码和资源库共享代码和其他资源。

由于Android Studio似乎主要是Intellij的修改版,所以我的问题是Android Studio具有完全必要的完全特定的功能吗?不相容?“标准”?与Intellij Idea社区还是终极?两者是否可以通过适当的插件集互换?

如果我们将Intellij Idea与各种Android支持插件一起使用,这些插件与android studio附带的插件一样吗?有了这套插件,程序实际上可以互换吗?

(我确实注意到,Android Studio中没有“ ant”支持。尽管我所需要的只是某种能力,它可以使用一组菜单可配置条目为各种命令从IDE调用可执行文件-我现在使用intellij ant支持来执行此操作,因为它可用)

Intellij会一直落后于Android Studio,因为它是Google的“官方”工具。

如果它们明显不兼容,那么在两个系统之间使用公共资源和工具的最简单方法是什么?


3
我做了一些研究,但这些问题部分是为了消除噪音。我发现许多其他性质的问题,人们提供的答案也很有帮助。通常,简单的事情很难找到真正的答案。如果我以任何方式找到并回答了自己的问题,而其他人没有回答,我会这样做。
彼得

10
我在这里看不到一个基于意见的问题。OP正在要求特定的技术差异。

此外,还有一个很好的,最新的答案。
Ryan M

Answers:


79

更新的答案2019年11月

过去,安装了Android插件的IntelliJ IDEA中没有提供Android Studio中没有的功能。但是,自成立以来,Android Studio不断发展壮大,并且与IntelliJ IDEA的分歧越来越大,尤其是最近。现在,Android Studio中捆绑了一些与IntelliJ IDEA不兼容的插件。这样的例子就是Android APK支持,它于2019年6月首次发布。此外,还有一些与Android Studio捆绑在一起的基于Android的插件,甚至在JetBrains插件网站(目前)上都没有列出,例如“ Android Games”, “ Android NDK支持”,“应用链接助手”等。

因此,此时,最好将Android Studio用于Android项目,并将IntelliJ IDEA用于任何辅助开发,例如服务器端应用程序。

如何轻松使用两者

JetBrains的工具箱应用程序可以很容易地安装并同时利用两个IDE的一面。它还使升级(以及在需要时回滚)超级容易。几年前首次出现时,该工具箱不支持Android Studio。因此,选择一个或另一个是更多的“问题”。此外,通过使用设置存储库插件(两个IDE都捆绑在一起),您可以轻松地使两个IntelliJ Platform IDE之间的设置保持同步。(请参阅IntelliJ IDEA文档中的通过设置存储库共享设置。)因此,在Toolbox应用程序和“设置存储库插件”之间,同时使用两者很方便(IMHO)。


上一个(过时的)答案表2015年6月

首先,免责声明...我在IntelliJ IDEA中完成所有工作时,只使用了Android Studio。但自2003年以来,我一直是IntelliJ IDEA的狂热用户。

由于Android Studio似乎主要是Intellij的修改版,所以我的问题是Android Studio具有完全必要的完全特定的功能吗?不相容?“标准”?与Intellij Idea社区还是终极?两者是否可以通过适当的插件集互换?

快速的答案是,在安装并启用了Android插件的情况下,您无法在IntelliJ IDEA(社区或终极版)中在Android Studio中执行任何操作。这是IntelliJ IDEA功能矩阵的屏幕截图,可以说明这一点: 在此处输入图片说明

基本上,Android Studio比IntelliJ IDEA具有更多的Android“品牌”。并且由于它只是一个Android IDE,因此可以更加“专注”。正如我所提到的,在Android Studio中您无法做的事情是在Intellij IDEA中无法做的。但是事实并非如此。您可以在IntelliJ IDEA(社区版和最终版)中执行许多(非Android)操作,而在Android Studio中则无法执行。

关于Android Studio是否可以使用IntelliJ IDEA插件的问题,这将取决于插件及其利用的组件(在IntelliJ插件API中)。编写插件时,必须声明(在插件描述符中)使用的API依赖项。一些例子是com.intellij.modules.langcom.intellij.modules.javaAntSupport,和Git4Idea。可能有数十种(甚至数百种)可能性,包括其他插件。因此,如果某个插件(或其中一个依赖项)最终使用了Android Studio中未包含的插件API中的某些内容,则该插件将无法工作。例如,我编写的一个插件(与移动开发完全无关)在JetBrains插件页面上列出与Android Studio兼容,因为它仅取决于com.intellij.modules.langcom.intellij.modules.java。因此,尽管它可以双向运行,但由于依赖于该插件特有的内容,因此(由于安装了更多组件的IntelliJ IDEA)插件可能仅在IntelliJ IDEA中兼容。

Intellij会一直落后于Android Studio,因为它是Google的“官方”工具。

它可以双向进行。JetBrains可能需要花费一些时间才能发布Android Studio。Google可能需要花费一些时间才能实现IntelliJ IDEA。但是,后者很可能会更加普遍。但是,我不知道该延迟有多长时间。这架JetBrians博客文章可能会在这方面有所帮助:IntelliJ IDEA和Android Studio常见问题解答

我个人的建议是:如果您只知道要进行Android开发,请使用Android Studio。同样,新的Android开发人员可能会发现Android Studio更合适,因为大多数文档和教程都将展示它,并且IntelliJ IDEA中可能偶尔会有细微的差别(例如,菜单中的位置)。但是,如果您将使用Java,Kotlin,Groovy和/或Scala或其他语言(Python,php,html,css,JavaScript等)或任何服务器端(或“企业”)从事JVM专用项目, “)代码-用于您的Android应用或其他工作,然后使用IntelliJ IDEA。

于2018年8月4日编辑,进行了一些澄清和添加了屏幕截图。

更新于 2019年11月25日以添加新信息。


31
令我惊讶的是,Google并非只是生产与社区版配合使用的intellij插件,因此它们将100%兼容。我猜这是烙印的东西:)
彼得

感谢您的博客博客链接。我进行的任何搜索当然都没有弹出。
彼得

啊,是,不好意思地研究了这个嵌套问题(希望可以为另一个灵魂提供一个简洁明了的答案:)就是说:要使intellij中的等效功能集与Android Studio预包装的功能相同,必须使用哪些插件集: )
彼得

2
很好的答案 -最终让我确定了将我的资源(时间和金钱)投入到哪个工具中的能力-作为一个(独立)开发人员。这样的答案只是这么的众多原因之一!
SilSur

3
好吧,Android Studio具有C ++支持,而Intellij IDEA Ultimate没有。
Zaffy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.