Разница между Android Studio и Intellij Idea с плагинами?


117

У нас есть база кода Java, в которой мы используем идею intellij для разработки.

Мы создаем приложение для Android, в котором мы будем делиться кодом и другими ресурсами с уже существующим кодом и базой ресурсов.

Поскольку Android Studio в основном представляет собой модифицированную версию Intellij, мой вопрос: есть ли в Android Studio совершенно особые функции, без которых невозможно обойтись? Несовместимые? «Стандарт»? vs Intellij Idea community или ultimate? Взаимозаменяемы ли они при использовании подходящего набора плагинов?

Если бы мы использовали Intellij Idea с различными плагинами поддержки Android, будут ли эти плагины такими же, как и в Android Studio? С этим набором плагинов будут ли программы практически взаимозаменяемыми?

(Я заметил, что поддержки «муравьев» нет в Android Studio. Все, что мне нужно, это возможность вызывать исполняемые файлы из среды IDE с набором настраиваемых в меню записей для различных команд - теперь я использую для этого поддержку intellij ant, потому что она был доступен)

Будет ли Intellij всегда отставать от выпусков Android Studio, поскольку это «официальный» инструмент Google.

Если они существенно несовместимы, как проще всего использовать общие ресурсы и инструменты в двух системах?


3
Я провел небольшое исследование, но отчасти эти вопросы здесь, чтобы прорезать шум. Я нахожу много других вопросов подобного рода, и ответы на них полезны. Часто на простые вещи труднее всего найти реальные ответы. Если я найду и отвечу на свой вопрос каким-либо образом, а кто-то еще не ответил на него, я отвечу.
peterk

10
Я не вижу здесь ни одного вопроса, основанного на мнении. OP требует конкретных технических отличий.

Кроме того, есть хороший ответ по теме, который постоянно обновляется.
Райан М.

Ответы:


80

Обновленный ответ ноябрь 2019 г.

В прошлом в Android Studio не было функций, которых не было в IntelliJ IDEA с установленным плагином Android. Однако с момента своего создания Android Studio росла и все больше и больше расходилась с IntelliJ IDEA, особенно в последнее время. Теперь в Android Studio есть несколько плагинов, несовместимых с IntelliJ IDEA. Одним из таких примеров является поддержка Android APK, которая была впервые выпущена в июне 2019 года. Кроме того, есть некоторые плагины на базе Android в комплекте с Android Studio, которые даже не указаны на сайте плагинов JetBrains (в настоящее время), такие как «Игры для Android», «Поддержка Android NDK», «Помощник по ссылкам на приложения» и другие.

Таким образом, в настоящее время, вероятно, лучше всего использовать Android Studio для проектов Android и использовать IntelliJ IDEA для любых вспомогательных разработок, таких как приложения на стороне сервера.

Как легко использовать оба

Приложение JetBrains Toolbox позволяет легко установить и использовать две интегрированные среды разработки одновременно. Это также делает обновление (и откат при желании) очень простым. Панель инструментов не поддерживала Android Studio, когда она впервые появилась много лет назад. И поэтому выбор того или другого был скорее «проблемой». Кроме того, с помощью подключаемого модуля репозитория настроек (входит в состав обеих IDE) вы можете легко синхронизировать настройки между двумя IDE платформы IntelliJ. (См. Совместное использование настроек через репозиторий настроек в документации IntelliJ IDEA.) Таким образом, между приложением Toolbox и подключаемым модулем репозитория настроек удобно (IMHO) просто использовать оба.


Предыдущая (устаревшая) форма ответа июнь 2015 г.

Во-первых, заявление об отказе от ответственности ... Я мало использовал Android Studio, поскольку всю свою работу выполняю в IntelliJ IDEA. Но я заядлый пользователь IntelliJ IDEA с 2003 года.

Поскольку Android Studio в основном представляет собой модифицированную версию Intellij, мой вопрос: есть ли в Android Studio совершенно особые функции, без которых невозможно обойтись? Несовместимые? «Стандарт»? vs Intellij Idea community или ultimate? Взаимозаменяемы ли они при использовании подходящего набора плагинов?

Быстрый ответ: в Android Studio вы ничего не можете сделать, чего нельзя было бы сделать в IntelliJ IDEA (Community или Ultimate) с установленным и включенным подключаемым модулем Android. Вот скриншот из матрицы функций IntelliJ IDEA, который подчеркивает это: введите описание изображения здесь

По сути, у Android studio больше «брендинга» Android, чем у IntelliJ IDEA. А поскольку это просто Android IDE, она может быть более «целенаправленной». Как я уже упоминал, в Android Studio нет ничего такого, что нельзя сделать в Intellij IDEA. Но обратное неверно. В IntelliJ IDEA (как для сообщества, так и для окончательной версии) вы можете делать ряд вещей (помимо Android), которые нельзя делать в Android Studio.

Что касается вопроса о том, может ли студия Android использовать плагины IntelliJ IDEA, это будет зависеть от плагина и того, какие компоненты (в API плагина IntelliJ) он использует. Когда вы пишете плагин, вы должны объявить (в дескрипторе плагина), какие зависимости 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; и Google может добавлять вещи, которым требуется время для запуска IntelliJ IDEA. Однако наиболее вероятно, что последнее будет более распространенным. Однако я не знаю, как долго будет эта задержка. Это сообщение в блоге JetBrians может помочь в этом отношении: IntelliJ IDEA и Android Studio FAQ

Мои личные рекомендации были бы такими: если вы знаете, что собираетесь заниматься разработкой только для Android, выбирайте Android Studio. Кроме того, новые разработчики Android, вероятно, сочтут Android Studio более подходящей, поскольку это будет показано в большинстве документации и руководств, и могут быть случайные незначительные различия (например, где что-то находится в меню) в IntelliJ IDEA. Но если вы будете работать в выделенных проектах JVM с использованием Java, Kotlin, Groovy и / или Scala, или с другими языками (Python, php, html, css, JavaScript и т. Д. И т. Д.) Или на любой стороне сервера (или «предприятие ") кода - либо для ваших приложений Android, либо для другой работы, тогда используйте IntelliJ IDEA.

Отредактировано 4 августа 2018 г. для некоторых пояснений и добавленного снимка экрана.

Обновлено 25 ноября 2019 г., чтобы добавить новую информацию.


32
Я удивлен, что Google не просто создал плагины intellij для работы с версией сообщества, чтобы они были на 100% совместимы. Думаю, дело в брендинге :)
петерк

спасибо за ссылку на блог intelli. Это определенно не всплывало ни в одном из поисковых запросов, которые я выполнял.
peterk

Ах, да, напрашивается один плохо изученный вопрос (который, надеюсь, даст другой душе хороший краткий ответ :) То есть: какой набор плагинов необходим для включения эквивалентного набора функций в intellij тому, что поставляется предварительно упакованным с Android Studio: )
peterk

2
Отличный ответ - наконец-то я понял, в какой инструмент вложить свои ресурсы (время и деньги) в качестве индивидуального (независимого) разработчика. Подобные ответы - лишь одна из многих причин, по которым я ТАК люблю !!
SilSur

3
Что ж, Android Studio поддерживает C ++, а Intellij IDEA Ultimate - нет.
Zaffy

0

Для разработки под Android лучше всего использовать Android Studio (сейчас доступна предварительная версия 1.3).

Поскольку Android Studio основана на Intellij, ваша «кривая обучения» не должна быть проблемой.

Я предполагаю, что для использования «общих ресурсов» вы имеете в виду код ... и он должен находиться в репозитории (git / github / ...).


конечно, все общие ресурсы и сам проект приложения находятся в системе контроля
версий
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.