Android Studio 和带有插件的 IntelliJ IDEA 之间的区别?
Posted
技术标签:
【中文标题】Android Studio 和带有插件的 IntelliJ IDEA 之间的区别?【英文标题】:Difference between Android Studio and IntelliJ IDEA with plugins? 【发布时间】:2015-08-27 01:52:27 【问题描述】:我们有一个现有的 Java 代码库,我们使用 IntelliJ IDEA 进行开发。
我们正在构建一个 android 应用程序,我们将在其中与预先存在的代码和资源库共享代码和其他资源。
由于 Android Studio 似乎主要是 IntelliJ 的修改版本,我的问题是 Android Studio 是否有完全特定的功能是必不可少的?不兼容? “标准”与 IntelliJ IDEA 社区还是终极? 两者是否可以通过适当的插件集互换?
如果我们将 IntelliJ IDEA 与各种 Android 支持插件一起使用,这些插件是否与 Android Studio 附带的相同? 有了这套插件,程序实际上可以互换吗?
(我确实注意到 Android Studio 中不支持“ant”。虽然我需要的只是一些从 IDE 调用可执行文件的能力,其中包含一组用于各种命令的菜单可配置条目 - 我现在使用 IntelliJ ant 支持来做这是因为它可用。)
IntelliJ 将始终落后于 Android Studio,因为它是 Google 的“官方”工具。
如果它们明显不兼容,那么在两个系统之间使用公共资源和工具的最简单方法是什么?
【问题讨论】:
我确实做了一些研究,但这些问题部分是为了消除噪音。我发现许多其他这种性质的问题和人们提供的答案很有帮助。通常,简单的事情最难找到真正的答案。如果我通过任何方式找到并回答我自己的问题,而其他人没有回答,我会的。 我在这里没有看到一个基于意见的问题。 OP 要求提供具体的技术差异。 此外,还有一个很好的主题答案,正在保持最新状态。 【参考方案1】:2019 年 11 月更新答案
过去,Android Studio 中没有安装了 Android 插件的 IntelliJ IDEA 中不存在的功能。然而,自成立以来,Android Studio 已经发展壮大,并且与 IntelliJ IDEA 的分歧越来越大,尤其是最近。现在 Android Studio 中捆绑了一些与 IntelliJ IDEA 不兼容的插件。一个这样的例子是Android APK Support,它于 2019 年 6 月首次发布。此外,还有一些基于 Android 的插件与 Android Studio 捆绑在一起,甚至没有在 JetBrains 插件网站(此时)上列出,例如“Android Games”, “Android NDK 支持”、“应用链接助手”等。
因此,此时最好将 Android Studio 用于 Android 项目,并将 IntelliJ IDEA 用于任何辅助开发,例如服务器端应用程序。
如何轻松使用两者
JetBrains Toolbox App 可以轻松安装和并排使用两个 IDE。它还使升级(如果需要,还可以回滚)也非常容易。该工具箱在几年前首次推出时并不支持 Android Studio。因此,选择其中一个更像是一个“问题”。此外,通过使用 Settings Repository Plugin(捆绑在两个 IDE 中),您可以轻松地保持两个 IntelliJ 平台 IDE 之间的设置同步。 (请参阅 IntelliJ IDEA 文档中的 Share settings through a settings repository。)因此,在 Toolbox 应用程序和设置存储库插件之间,可以方便地(恕我直言)同时使用两者。
2015 年 6 月以前的(过时的)答题表
首先,免责声明...我只是在 IntelliJ IDEA 中完成所有工作时稍微使用了 Android Studio。但自 2003 年以来,我一直是 IntelliJ IDEA 的***用户。
由于 Android Studio 似乎主要是 Intellij 的修改版本,我的问题是 Android Studio 是否有完全特定的功能是必不可少的?不相容? “标准”? vs Intellij Idea 社区还是终极版?两者是否可以通过适当的插件集互换?
快速回答是,在安装并启用了 Android 插件的情况下,您在 Android Studio 中可以做的任何事情都不能在 IntelliJ IDEA(社区或旗舰版)中做。这是 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.lang
、com.intellij.modules.java
、AntSupport
和 Git4Idea
。有数十种(如果不是数百种)可能性 - 包括其他插件。因此,如果一个插件(或其中一个依赖项)最终使用了插件 API 中未包含在 Android Studio 中的某些内容,则该插件将无法工作。例如,我编写的一个插件(与移动开发完全无关)在 JetBrains 插件页面上列出与 Android Studio 兼容,因为它只依赖于 com.intellij.modules.lang
和 com.intellij.modules.java
。因此,虽然它可以双向使用,但更有可能的是(由于 IntelliJ IDEA 安装了更多组件)一个插件可能仅在 IntelliJ IDEA 中兼容,因为它依赖于该插件独有的东西。
Intellij 会一直落后于 Android Studio,因为它是 Google 的“官方”工具。
它可以双向进行。 JetBrains 可能会添加一些需要时间才能打到 Android Studio 的东西;谷歌可能会添加一些需要时间才能击中 IntelliJ IDEA 的东西。然而,后者很可能会更普遍。但是,我不知道延迟多久。这篇 JetBrian 博客文章可能会在这方面有所帮助:IntelliJ IDEA and Android Studio FAQ
我的个人建议是:如果您知道自己只会进行 Android 开发,那么请选择 Android Studio。此外,新的 Android 开发人员可能会发现 Android Studio 更适合,因为大多数文档和教程都会显示它,并且 IntelliJ IDEA 中可能偶尔会出现细微差别(例如菜单中的某些内容)。但是,如果您将使用 Java、Kotlin、Groovy 和/或 Scala,或使用其他语言(Python、php、html、css、javascript 等)或任何服务器端(或“企业") 代码 - 用于您的 Android 应用程序或其他工作,然后使用 IntelliJ IDEA。
已编辑 2018 年 8 月 4 日进行了一些澄清并添加了屏幕截图。
更新于 2019 年 11 月 25 日添加新信息。
【讨论】:
我很惊讶 Google 没有简单地生产 intellij 插件来与社区版一起使用,因此它们将 100% 兼容。我想这是品牌的事情:) 感谢 intelli 博客链接。它当然没有出现在我运行的任何搜索中。 啊,是的,这是一个研究不足的问题(希望能为另一个灵魂提供一个很好的简洁答案:) 那就是:需要哪些插件集才能启用 intellij 中的等效功能集预装 Android Studio :) 很好的答案 - 作为一个单独的(独立)开发人员,我终于理清了将我的资源(时间和金钱)投入到哪个工具上的想法。像这样的答案只是我如此爱如此之多的众多原因之一! 嗯,Android Studio 支持 C++,而 Intellij IDEA Ultimate 不支持。【参考方案2】:对于 Android 开发,您最好使用 Android Studio(预览版 1.3 现已推出)。
由于 Android Studio 基于 Intellij,因此您的“学习曲线”应该不是问题。
对于使用“公共资源”,我假设您指的是代码......并且应该在存储库中(git / github / ...)。
【讨论】:
当然所有公共资源和应用程序项目本身都在源代码控制中,我们确实使用 git :)以上是关于Android Studio 和带有插件的 IntelliJ IDEA 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 添加 Genymotion插件
Android Studio 在 Team Foundation Server 插件上更改用户名
Fabric 插件未安装在 linux 系统上的 android studio 1.5 中
找不到插件 Fabric Android Studio 导入 com.crashlytics & io.fabric