Android Studio では、従来の JAR 形式のライブラリファイルに加え、AAR (Android Archive) 形式のライブラリ を作成することができます。
JAR ライブラリとは違い、AAR ライブラリは Android 固有のアセット、リソース、AndroidManifest.xml
などを含めることができます。
AAR ライブラリには AndroidManifest.xml
を含めることができるので、uses-library
宣言をライブラリ内で完結させるといったことが可能になります。
現状の Android Studio (version 1.5) では、AAR ライブラリ専用の新規プロジェクトを作成することができません(後述の方法で、ごにょごにょすれば AAR 専用のプロジェクトとして扱うことはできます)。 なので、通常はアプリケーションプロジェクトの下に、サブプロジェクトとして AAR ライブラリのプロジェクトを作成することになります。 AAR ライブラリを作成する場合は、その使用例などを示すサンプルプロジェクトなども用意する必要がありますから、この構成で作成しておいても特に問題ないでしょう。
まずは下記のように親プロジェクトとなるアプリプロジェクトを作成します。 Android Phone 用の UI ライブラリを作るつもりであれば、それを前提とした構成で作成しておけばよいでしょう。
File
=> New
=> New Project...
を選択次に、そのサブプロジェクトとして、AAR ライブラリ作成用のプロジェクトを作成します。
File
=> New
=> New Module...
を選択Android Library
を選択し、Module name に AAR ライブラリのファイル名、Package name にライブラリの Java パッケージ名を入力AAR ライブラリ用のサブプロジェクトが作成されたら、そこに Java のクラスやリソース、AndroidManifest.xml
などを追加していきます。
最後に、メニューから Build
=> Make Module
としてビルドすれば、下記のディレクトリに AAR ライブラリが生成されます。
<AARサブプロジェクト名>/build/outputs/aar
Android Studio 1.5 の時点では、ウィザードから AAR ライブラリ専用のプロジェクトを作成することができません。 どうしても作りたいのであれば、まずは空のアプリプロジェクトとして作成しておき、それをライブラリプロジェクトに書き換えるという方法で実現できます。
File
=> New
=> New Project...
を選択Add No Activity
を選択空のアプリプロジェクトを作成したら、アプリモジュール内の build.gradle
を下記のように変更します。
apply plugin:
の後ろを、com.android.application
から com.android.library
に変更defaultConfig
のコンフィギュレーションブロックの applicationId
を削除あとは、メニューから Build
=> Make module
とすれば、AAR ファイルが生成されます。
配布された AAR ライブラリを、別のアプリプロジェクトから使用するには以下のようにします。
File
=> New
=> New Module...
を選択(Import Module...
ではないことに注意)Import .JAR/.AAR Package
を選択し、上記の AAR ファイルを指定上記の手順を行うと、AAR ライブラリだけを含んだサブプロジェクト(ここでは mylib-release
とします)が生成されます。
プロジェクトの settings.gradle
には、自動的に下記のようにサブプロジェクトへの参照情報が追記されます。
include ':app', ':mylib-release'
あとは、このライブラリを使用したい app
プロジェクトから依存関係を設定すれば OK です。
dependencies {
compile project(':mylib-release')
...
}
これで、AAR ライブラリで定義した Java のクラスファイルなどを参照できるようになります。