たくさんの自由帳

JitPackでAndroidライブラリを公開する

投稿日 : | 0 日前

文字数(だいたい) : 984

自分用メモ(記事更新:2021/03/11)

ライブラリ作成

適当なプロジェクトを作成します。

ここで作成したプロジェクトはExample的な役割をする。

ライブラリを作成

上のFileを押して、Newを押して、New Module...を選択して、
Android Libraryを選択して、ライブラリ名をつけます。

Imgur

最初に作ったプロジェクトでライブラリを参照できるようにする

appフォルダにあるbuild.gradle(app/build.gradle)を開き、dependencies { }に書き足します。

dependencies {
    // 作ったライブラリ
    implementation project(':ライブラリ名')
}

ライブラリ名が、SearchPreferenceFragmentだった場合は、

dependencies {
    // 作ったライブラリ
    implementation project(':SearchPreferenceFragment')
}

となります。

JitPackで公開する流れ

library/build.gradle

ライブラリ名/build.gradle(ライブラリ名のフォルダに有るbuild.gradle)を開いて、上の部分を書き換えます。

plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    // JitPackで必要
    id 'maven-publish'
}
 
// これもJitPackで使う
group = 'com.github.takusan23'

takusan23の部分は各自違うと思う。

それから、一番下に行って数行書き足す必要があるみたいです。

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.github.takusan23'
                artifactId = 'ComposeOrigamiLayout'
                version = '1.0'
            }
        }
    }
}

groupIdgroupと同じでいいと思う。
artifactIdにはGitHubのリポジトリ名を入れてね。

jitpack.yml

ってファイルを作成します。場所はsrcフォルダとか.ideaフォルダがあるところです。
ファイル名はjitpack.ymlで。

中身なんですけど、Javaのバージョンを指定します。なんかJava11が必要になったみたい。

jdk:
  - openjdk11

他の人に使ってもらう

build.gradle

appフォルダでもない、ライブラリ名のついたフォルダでもない、build.gradleを開いて、以下のように書き足します

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

allprojects{ repositories{ } }がない場合は、settings.gradleを開いてこうです。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
        maven { url 'https://jitpack.io' } // これ
    }
}

app/build.gradle

を開き、dependencies{ }に書き足します。

dependencies {
    // 検索できるPreference
    implementation 'com.github.takusan23:SearchPreferenceFragment:1.0.0'
}

以上です。