IntelliJ IDEA 包含的 Android 插件版本是什么?

8

...以及如何权威地找到它?

在Android Studio 0.8.11中:当我检查相同内容时,它显示为10.0.8.11,对应于http://tools.android.com/recenthttp://developer.android.com/sdk/installing/studio.html

在IDEA EAP 14中:当我进入设置 > 插件 > Android支持时,显示的版本号是10.0,这与最新版本的IDEA / Android Studio / SDK / API不符。所有上述v10的版本都太旧了,不能成为最新软件的默认捆绑包。

我检查了.jar文件的META-INF,但没有运气。一些.jar名称可以给出线索,以下是我能够推断出的内容:

╔════════════════════════════════╦═══════════════╦═══════════════╦════════════════╗
║                                ║ IntelliJ IDEA ║ IntelliJ IDEA ║ Android Studio ║
╠════════════════════════════════╬═══════════════╬═══════════════╬════════════════╣
║ Version                        ║ 13.1.5        ║ 14 EAP        ║ 0.8.11         ║
║ Build                          ║ IC-135.1289   ║ IC-138.2458.8 ║ AI-135.1446794 ║
║ Date                           ║ 2014-09-30    ║ 2014-09-25    ║ 2014-09-18     ║
║ builder-model.jar              ║ 0.12.0        ║ 0.12.0        ║ 0.13.0         ║
║ Android Support Plugin version ║ 10.0          ║ 10.0          ║ 10.0.8.11      ║
║ IntelliJ IDEA equivalent       ║ 13.1.5        ║ 14.x          ║ 13.1.5 RC**    ║
║ Android Studio equivalent      ║ 0.8.?*        ║ 0.8.?*        ║ 0.8.11         ║
╚════════════════════════════════╩═══════════════╩═══════════════╩════════════════╝

* 基于 Gradle插件Android Studio Beta 的发布日期。
**我们已经合并了来自 IntelliJ 13.1.5 RC 的最新更改。

版本看起来并不相差太远,我想知道 0.8.? 版本到底是什么。我尝试在 IDEA 14 文件夹中交换 plugins/android(并删除重复的 EP:Designer.customizations),但启动后会出现 NoSuchMethodError

3个回答

16

这个问题比较复杂,需要提供一个较长的答案。不幸的是,我们没有一个好的简短回答,因为我们没有以有意义的方式对插件进行版本控制。这是我们应该做的事情。

要回答这个问题需要查看JetBrains不同版本的IntelliJ的提交日志。如果我下载IntelliJ CE附带的Android插件的git存储库(更多详细信息请参见下面的长答案),我会看到:

  • 13.1.5: 大致相当于Android Studio 0.8.6。需要并支持v0.12的Android Gradle插件。
  • 14: 它跟踪最新版本的Android Studio,但可能会落后大约一周。确切的版本将取决于JetBrains在剪辑给定版本之前从Android团队那里拉取插件的源代码的时间。它需要v0.12的Android Gradle插件并支持0.13版。

接下来是长解释:

Android Build Tools团队与JetBrains进行了双向代码共享。Android Studio基于IntelliJ代码库的135分支构建(这就解释了其构建号中看到的IC-135),因此Android Studio派生自IJ 13.1.5,其中包括一些尚未上游的修改和补丁。我们不打算在到达1.0时转移到138分支,因此即使在发布时仍将基于13而不是14。

在JetBrains方面,他们主要从Android那里接受插件的上游变更,但他们也有人在其端上开发插件(这些变更会合并回Android Studio端)。在13的生命周期的这个阶段,他们缓慢地发布它,并对他们拉入Android插件的东西保持更加谨慎(为了稳定性),因此它并不完全是最新版本。他们发布主产品的修补程序以解决问题,而不是选择最新的Android插件。

一般情况下,如果您正在运行IJ 13,则可能无法仅升级Android插件。插件的更改通常需要更改底层平台; Android Studio将捕获这些更改,因为其平台随其插件一起发布,但是IJ需要等待这些更改上游。尽管如此,这些更改的速度现在相当慢,但仍然会发生。对于14 EAP版本,他们应该更快地从Android中提取更改,因此该构建应更接近于Android Studio的当前状态,尽管再次取决于他们多久进行这些提取操作。
值得注意的是,我们大部分时间都不与JetBrains协调发布或代码提取,因此给定的14 EAP版本将反映出他们在代码提取时的Android插件的当前状态。因此,它可能对应于Android Studio版本之间的某种状态。
回答评论中关于为什么Android Studio和IntelliJ是单独的产品的问题:
- Android Studio旨在为Android开发人员提供定制和简化的体验。它专注于Gradle构建系统(不建议使用非基于Gradle的项目),以及一些对Android开发人员没有意义的功能和选项已被删除。 - 对于想要更多灵活性的用户,我们鼓励他们使用IntelliJ CE。 - IntelliJ Ultimate Edition是该产品的付费版本,具有额外的非常强大的功能,对于需要这些功能的人来说是一个很好的选择。 - IntelliJ和Android插件最初由IntelliJ开发,它们都不会消失。 Android团队正在与JetBrains合作改进两个产品中的Android支持,并提供Android Studio作为其特定受众的优化产品。
如果您想在一个IDE中拥有所有内容,则最好选择运行IntelliJ CE或Ultimate。它应该具有Android Studio的所有重要功能,尽管在某些地方可能使用起来更困难。如果您在其中发现在Android Studio中无法正常工作但在其中正常工作的事情(尤其是与Gradle项目支持相关的事情),那么我们认为这是错误,请提交它。

1
出于好奇,为什么会同时开发独立的IntelliJ Android插件和全新的基于IntelliJ的IDE?有一个或另一个不更容易吗?类似于Eclipse无需从头开始开发。只是好奇,因为似乎为同一目的开发两个东西比一个更困难。 - EpicPandaForce
1
@Zhuinden的问题的答案非常棒,永远不要改变那个观点!我正在从Eclipse切换到IntelliJ,我不想安装2个版本(Android Studio和适用于除Android之外的所有其他内容的IDEA)。 - TWiStErRob
“我们不打算在1.0版本发布时迁移到138分支。”这真是个令人沮丧的消息,基于当前的发布速度,看起来IDEA 14将比1.0版本更早地发布,并且可能会在那个时候成为主流版本。根据你所说的,他们已经在14分支上开发了一个Android插件,版本号大约为0.8.5+,所以它是兼容的!我理解14版本还没有稳定到足以发布1.0版本的程度。 - TWiStErRob
@ScottBarta所以说,如果我想要一个多语言IDE,使用14EAP是最好的选择吗?我知道它几乎与Android Studio Beta同步,但有时可能会有些“不尽如人意”,而且这不是谷歌支持的Android开发方式。 - TWiStErRob
1
@TWiStErRob 如果你只想要一个IDE,那么IJ可能是你最好的选择 - 我已经编辑了我的回答。 - Scott Barta
2017.1.5版本怎么样?当我使用3.0.0-alpha6版本(我有Android Studio 3.0 alpha 6,项目是在那上面创建的)时,Intellij会提示Gradle 'IntelliJ_IDEA_Test'项目刷新失败。我可以通过cmd成功构建项目。而且,Android支持插件版本为10.2.2.2。 - Banee Ishaque K

3

1

我认为我找到了一个更具体的答案,虽然不完美;正如Scott所说,这真的很复杂。我发现android插件是从一个外部仓库引用的,该仓库不在github上,在getPlugins脚本中:

git clone git://git.jetbrains.org/idea/android.git android

查找IntelliJ的git修订记录

  1. 进入IntelliJ IDEA的“帮助>About”(或安装文件夹中的“build.txt”)
  2. 检查版本号(当前最新版本为IC-139.222.5)
  3. http://git.jetbrains.org/?p=idea/android.git;a=shortlog;h=refs/tags/idea/139.222.5
  4. 查找最后合并的内容:Merge branch 'studio-1.0-release' of .../platform/tools/adt/idea

很遗憾,我没有找到Google Android Studio repo中关于修订范围的明确指针,但您可以尝试通过日期进行匹配。

对于 IntelliJ IDEA网站 > 下载 上的 13.1.5 版本:构建版本为 135.1289

备选方案

为了给出一个大致的估计,可以查看

IntelliJ IDEA\plugins\android\lib\android.jar\META-INF\plugin.xml

在这里可以清楚地看到最低版本是多少:<version>10.0.8.12</version>,因为在此行更改为下一个版本之前,任何提交 可能 都会被合并。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接