[Android] Android Studioでプロジェクト作成時のテンプレートを作る

android_studio

いくつもAndroidのアプリを作成していると、毎回最初に同じようなことを書いているなーと思ったので、 自動生成する方法がないか調べたところ、テンプレート作成でできることがわかったので今回はその方法を紹介したいと思います。

テンプレートを作成する

まずは、Android Studioで使用されるテンプレートファイルを探します。 テンプレートファイルは以下のフォルダに配置されています。(Macの場合)

/Applications/Android Studio.app/Contents/plugins/android/lib/templates/

プロジェクト作成時に読み込まれるテンプレートは gradle-projects/NewAndroidProjectgradle-projects/NewAndroidModule になりますが、 こちらを変更するとすべての新規プロジェクトに適用され、テンプレートの適用有無を選択できないので、 新規プロジェクト作成時に必ず選択する activities のテンプレートに、新しいテンプレートを作成するという方法にしました。

一からテンプレートを作成するのは大変なので、既存のテンプレートをコピペして修正します。

スクリーンショット_2017-01-25_19_19_00

フォルダ内のtemplate.xmlを開き、nameを変更します。

スクリーンショット_2017-01-25_19_26_20

このテンプレートからは、同フォルダ内のrecipe.xml.ftlが読み込まれ、ファイル生成などが行われるのでこちらを修正しました。 今回は以下のコードを追加し、プロジェクト新規作成時にライブラリ依存関係を自動挿入してくれるようにしてみました。

[recipe.xml.ftl]

<dependency mavenUrl="com.android.support:design:+" />
<dependency mavenUrl="com.google.firebase:firebase-messaging:+" />

新規プロジェクト作成

Android Studioで新規プロジェクトを作成してみます。

スクリーンショット_2017-01-25_19_38_25

Activityのテンプレート選択画面で先程作成したテンプレートが追加されているので、これでプロジェクトを作成します。

スクリーンショット_2017-01-25_19_38_39

app/build.gradleを見ると、テンプレートに追加したライブラリが自動挿入されています。

スクリーンショット 2017-01-25 19.43.10

おわりに

今回はライブラリの追加だけ紹介しましたが、他にもパッケージやファイルの追加なども可能なので、 ブロジェクト作成後の初回手順が決まっている場合などはテンプレートで対応できると、開発効率がUPしそうですね。

参考