Java
Android
Maven
AndroidStudio

[Android Studio] MavenなライブラリをAndroidで使いたい

はじめに

外部ライブラリをAndroidプロジェクトに追加したいという事は多々あると思います。
様々なライブラリの追加方法がある中で、ライブラリソースをカスタマイズする場合「Import Project/Module」しかありません。

ただ、この方法は何かと書き換えなければならない箇所が多く、非常に面倒な作業が多かったのでメモがわりに記事にしました。

やってみる

おそらくお手元に追加したいMavenな外部ライブラリがあると思います。
まずはそのMavenなライブラリをgradleで管理できるようにしましょう。

cd [追加したいライブラリが入ったフォルダ]
gradle init --type pom

Android StudioではMavenでいうbuild.gradle的な存在のpom.xmlを読み込めません。そこで上記のコマンドでpom.xmlをbuild.gradleに変換するわけです。

これで晴れてAndroid Studioで読み込めるようになったので、早速ライブラリを追加したいプロジェクトを選択した状態で[File]->[New]->[Import Project]を選択します。

img.png

そこで先ほど変換したライブラリを選択します。
ここでようやく折り返し地点です(笑)

おそらくここで以下のようなGradle Syncエラーが出ると思います。
- ~/AndroidManifest.xmlがないんだけど?
- ~/build.gradleの記述が足りないよ!
てな感じで

怒られたなら直すしかないので、
エラーの仰す通りにします。

  1. AndroidManifest.xml
    PackageNameが無いとダメなようなので、以下のように記述したAndroidManifest.xmlファイルを新規作成します。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest package="com.○○○.△△△"> // ○と△はMavenを参考に書く(適当)
      <application />
    </manifest>
    
  2. build.gradle
    先ほどのコマンドgradle init --type pomではあくまでdependenciesの移植しかしてくれないので、残りは自分で記述しなければなりません。
    以下サンプルで記述しますが、皆様の環境に適宜合わせてください。

    apply plugin: "com.android.library"
    
    android {
      compileSdkVersion 26
      buildToolsVersion "26.0.1"
    
      defaultConfig {
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
      }
    }
    
    description = 'ライブラリ名'
    dependencies {
      ...
    }
    


以上で下準備は終わりです。
あとは追加したいプロジェクトを右クリックして[Configure Project Subset]を選択
先ほどImportしたライブラリにまだチェックが入って無いと思いますので、チェックを入れましょう。

どうでしょうか?
あとはRebuild Projectしていただければ完成です。

参考サイト

pom.xml なプロジェクトをAndroid Library にして IDE に読ませる