web-dev-qa-db-ja.com

Android St​​udioまたはIntellij Idea wthプラグインを使用するのが最適ですか?

開発にintellijのアイデアを使用する既存のJavaコードベースがあります。

コードと他のリソースを既存のコードとリソースベースと共有するAndroidアプリケーションを構築しています。

Android St​​udioは主にIntellijの修正バージョンであるように思われるので、私の質問はAndroid St​​udioに不可欠な完全に特定の機能がありますか?互換性がない? "標準"? vs Intellij Ideaコミュニティまたは究極ですか? 2つは適切なプラグインセットと交換可能ですか?

Intellij IdeaをさまざまなAndroidサポートプラグインで使用する場合、これらのプラグインはAndroidスタジオに付属しているものと同じですか?このプラグインのセットにより、プログラムは実質的に交換可能になりますか?

(「ant」サポートがAndroid St​​udioにないことに気付きました。必要なのは、さまざまなコマンドのメニュー構成可能なエントリのセットでIDEから実行可能ファイルを呼び出す機能だけです-私は現在、intellij antサポートを使用してこれを行います(利用可能だったため)

Intellijは、Googleの「公式」ツールであるため、Android St​​udioであるリリースに遅れをとっています。

それらが著しく互換性がない場合、2つのシステム間で共通のリソースとツールを使用する最も簡単な方法は何ですか?

この質問は、経験からの一種のアドバイスを求めています-学習曲線とインフラストラクチャの依存関係を投資し、カオスサーフィンボードを磨くのに最適な場所はどこですか?

ありがとう。

99
peterk

最初に、免責事項... IntelliJ IDEAですべての作業を行うので、Android St​​udioを軽く使用しただけです。しかし、私は2003年からIntelliJ IDEAの熱心なユーザーです。

Android St​​udioは主にIntellijの修正バージョンであるように思われるので、私の質問はAndroid St​​udioに不可欠な完全に特定の機能がありますか?互換性がない? "標準"? vs Intellij Ideaコミュニティまたは究極ですか? 2つは適切なプラグインセットと交換可能ですか?

簡単な答えは、Androidプラグインがインストールされて有効になっているIntelliJ IDEA(CommunityまたはUltimate)ではできないAndroid St​​udioでできることは何もないということです。 。 IntelliJ IDEA機能マトリックスのスクリーンショットは次のとおりです: enter image description here

基本的に、Androidスタジオには、IntelliJ IDEAよりもAndroidの「ブランディング」があります。そして、それはjustAndroid IDEであるため、より「焦点を合わせる」ことができます。前述したように、Intellij IDEAではできないAndroid St​​udioでできることは何もありません。しかし、その反対は真実ではありません。 IntelliJ IDEA(コミュニティエディションと究極のエディションの両方)でできることは、Android St​​udioではできないことです(Android以外)。

Android studioがIntelliJ IDEAプラグインを使用できるかどうかについての質問については、プラグインとそれが活用するコンポーネント(IntelliJプラグインAPI内)に依存します。プラグインを作成するときは、使用するAPI依存関係を(プラグイン記述子で)宣言する必要があります。いくつかの例は、com.intellij.modules.langcom.intellij.modules.JavaAntSupport、およびGit4Ideaです。他のプラグインを含め、数百ではないにしても数十の可能性があります。したがって、プラグイン(または依存関係の1つ)がAndroid St​​udioに含まれていないプラグインAPIの何かを使用することになった場合、そのプラグインは機能しません。たとえば、私が書いた1つのプラグイン(モバイル開発とはまったく関係ありません)は、com.intellij.modules.langcom.intellij.modules.Javaにのみ依存するため、JetBrainsプラグインページにAndroid St​​udioと互換性があるとリストしています。そのため、両方の方法で実行できますが、(IntelliJ IDEAにより多くのコンポーネントがインストールされているため)プラグインは、依存関係の結果としてIntelliJ IDEAでのみ互換性がある可能性が高くなりますそのプラグインに固有の何かに。

Intellijは、Googleの「公式」ツールであるため、Android St​​udioであるリリースに遅れをとっています。

それは両方の方向に行くことができます。 JetBrainsは、Android St​​udioをヒットするのに時間がかかるものを追加する場合があります。また、GoogleはIntelliJ IDEAをヒットするのに時間がかかるものを追加する場合があります。ただし、後者がより一般的です。ただし、その遅延がどれくらいの長さかはわからない。この点に関しては、JetBriansのブログ投稿が役立つかもしれません: IntelliJ IDEAおよびAndroid St​​udio FAQ

個人的な推奨事項は次のとおりです。Android開発のみを行う場合は、Android St​​udioを使用します。ただし、他の言語(Java、Scala、Groovy、python、php、html、css、JavaScriptなど)またはサーバー側(または「エンタープライズ」)コードで作業する可能性がある場合Androidアプリまたはその他の作業用に、IntelliJ IDEAを使用します。最後に、常に両方を使用できます。

Edited明確化とスクリーンショットの追加については、2018年8月4日

50
Javaru

Android開発の場合、Android St​​udioを使用するのが最善です(プレビュー1.3が利用可能になりました)。

Android St​​udioはIntellijをベースにしているため、「学習曲線」は問題になりません。

「共通リソース」を使用するために、私はあなたがコードを参照していると仮定します...そしてそれはリポジトリ(git/github/...)にあるべきです。

0
ErstwhileIII