はじめに
共通で使えるライブラリやSDKとして他の人に使ってもらうためにmoduleを作る方法を簡単にメモします。
基本的にcommon的なapiの公開やよくあるview系のライブラリ化もこの手順でできます。
今回は簡単なメソッドを一つ作りアプリ側から読み込む方法を残します。
ライブラリの組み込み公式ページ
moduleの作り方
デフォルトのmylibraryとしておきます
適当なメソッドを作る
mylibraryの下にcommonを作りました。コードは適当にトップレベル関数として作っておきます。
単にhelloをもらうだけです
package com.example.mylibrary.common
fun fetchHelloMessage() :String {
return "hello"
}
# アプリ側で読み込み
dependenciesへ下記コードを書き読み込みます
※2023/04/10時点のAndroidStudioの最新バージョンで試すと自動で付加されていました
implementation project(":mylibrary")
syncしてください
利用してみる
importします
import com.example.mylibrary.common.fetchHelloMessage
あとは呼ぶだけ
fetchHelloMessage()
最後に
viewも同じように取り込めるのでsdkでviewを提供する場合もこんな雰囲気です。
gradleでprojectとしてmoduleを読み込むのではなく、他のライブラリのように組み込む場合はmavenリポなどに配置する必要があります。
今時は、ホスティングはJitPackがナウいらしい(使ったことないので詳しくはわかりませんがgithubへpushしてgradleによきに取り込めるらしい)
AndroidStudioでモジュールを作成すると自動でkotlinやらgradleのバージョンが変更されてモジュール追加しただけでなぜかビルドが通らないことが起きました。もしモジュールを手順通りに追加しただけなはずなのに、ビルでできないなどが起きた場合はgitのdiffで余計な関係ない変更がされていないかを見ると良いと思います。