繁体   English   中英

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

[英]Difference between Android Studio and Intellij Idea with plugins?

我们有一个现有的 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 的“官方”工具。

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

2019 年 11 月更新的答案

过去,Android Studio 中没有安装了 Android 插件的 IntelliJ IDEA 中不存在的功能。 然而,自成立以来,Android Studio 已经发展壮大,并且与 IntelliJ IDEA 越来越不同,尤其是最近。 现在 Android Studio 中捆绑了一些与 IntelliJ IDEA 不兼容的插件。 一个这样的例子是 2019 年 6 月首次发布的Android APK 支持。此外,还有一些与 Android Studio 捆绑的基于 Android 的插件甚至没有在 JetBrains 插件站点(此时)上列出,例如“Android Games”, “Android NDK 支持”、“应用链接助手”等。

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

如何轻松使用两者

JetBrains Toolbox 应用程序可以轻松安装和并排使用两个 IDE。 它还使升级(以及在需要时回滚)变得非常容易。 该工具箱多年前首次推出时不支持 Android Studio。 因此,选择其中一个更像是一个“问题”。 此外,通过使用设置存储库插件(捆绑在两个 IDE 中),您可以轻松地保持两个 IntelliJ 平台 IDE 之间的设置同步。 (请参阅 IntelliJ IDEA 文档中的通过设置存储库共享设置。)因此,在 Toolbox 应用程序和设置存储库插件之间,使用两者很方便(恕我直言)。


2015 年 6 月以前(过时)的答复表

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

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

快速回答是,在安装并启用了 Android 插件的情况下,您在 Android Studio 中可以做的事情是您在 IntelliJ IDEA(社区或旗舰版)中无法做的。 这是来自 IntelliJ IDEA 功能矩阵的屏幕截图,说明了这一点: 在此处输入图片说明

基本上,与 IntelliJ IDEA 相比,Android Studio 对 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.javaAntSupportGit4Idea 有数十种(如果不是数百种)可能性 - 包括其他插件。 因此,如果插件(或其依赖项之一)最终使用了 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 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 日更新以添加新信息。

对于 Android 开发,最好使用 Android Studio(预览版 1.3 现在可用)。

由于 Android Studio 基于 Intellij,因此您的“学习曲线”应该不成问题。

对于使用“公共资源”,我假设您指的是代码......并且应该在存储库(git / github / ...)中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM