Android Studio最速入門~効率的にコーディングするための使い方

第43回 プラグインについて

この記事を読むのに必要な時間:およそ 9.5 分

はじめに

Android Studioも他のモダンなIDE同様プラグインによる拡張機構を持ちます。標準機能の説明ばかりも飽きてきたので,今回はプラグインを用いた機能拡張を紹介します。

プラグインを利用する心構え

予期せぬエラーが起こる確率が増えます。最悪,Android Studioが起動しなくなりますので,その覚悟を持って挑みましょう。プラグインがどこにインストールされるのかといった内部の仕組みをある程度理解していれば,Android Studioが起動しなくなっても,あわてずさわがずプラグインを除去できますので,その辺の基礎知識は押さえておきましょう。

Android Studioのプラグインについて

プラグインのインストールは「Preferences / Plugins」から行います。方法は2通りで,インターネットから直接ダウンロードする方法と,ダウンロード済みのプラグインファイルを直接Android Studioにインストールする方法があります。詳しいインストール手順は次節で説明しますので,まずはプラグインがどこに公開されているかを説明します。

Android Studioの元になったIntelliJ IDEA,およびその派生IDEを提供しているJetBrains社が公開しているプラグインサイトにプラグインが集約されています。

図1 JetBrainsが提供しているプラグインサイト

図1 JetBrainsが提供しているプラグインサイト

プラグインの数はそれなりに多いですが,Eclipseほどプラグイン開発が盛んに行われていないため,いわゆる野良プラグインはほとんど存在しておらず,このプラグインサイトにあるのがすべてだと思って差し支えありません。Android Studioのプラグインマネージャもこのサイトを指し示しています。

プラグインサイトではIDE別にプラグインが分類されていますが,その分類ははっきり言ってテキトウです。大抵のプラグインは,IntelliJ IDEA Ultimate Edition向けに作られているのがほとんどです。

もう少し内情を説明すると,IntelliJベースのIDEにはプラグイン開発用のAPI(OpenAPI)が提供されており,プラグインがそのAPIしか使ってなければIntelliJ以外のIDEでも動き,Ultimate Edition固有のAPIを使っていれば他のIDEでは動かない,という仕組みです(他にもPHPに依存していればPhpStorm専用,などと判定されます)⁠一応,プラグインのメタ情報にそれを表明する箇所があるのですが,プラグインによってはOpenAPIだけではなくIntelliJ本体のAPIを利用しているものもあり,あくまで参考情報でしかありません。

Android Studioは実質,IntelliJ IDEA Community Editionと同等のため,Android Studio対応と銘打ってない他のプラグインも動く可能性が高いです。

プラグインの格納先

プラグインのインストールに先立ち,Android Studioのプラグインがどこに格納されているのか説明しておきます。プラグインは,次のセクションで紹介するプラグインマネージャを介して,以下のディレクトリにインストールされます。

<AS_CONFIG>/plugins
プラグインをインストールすると,このディレクトリにその実体が格納されます。Macの場合は <HOME>/Library/Application Support/AndroidStudioPreview です。
なにもプラグインをインストールしていない状態では,このディレクトリ自体が存在していません。

プラグイン格納先はもうひとつあります。それは,Android Studioに標準で入っているプラグインの格納先で,次のディレクトリになります。

<AS_INSTALL>/plugins

このディレクトリと先ほどのディレクトリの違いはプラグインをアンインストールできるかどうかです(Android Studio標準プラグインはアンインストールできません)⁠具体的な例では「Preferences / Plugins」にリストアップしているプラグイン一覧のうち「Bundled」になっているのが,このディレクトリにあるプラグインたちで,⁠Custom」になっているのが先ほどのディレクトリ<AS_CONFIG>/pluginsにあるプラグイン,というわけです。

図2 標準プラグインとそれ以外の区別

図2 標準プラグインとそれ以外の区別

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai

コメント

コメントの記入