LoginSignup
42
43

More than 5 years have passed since last update.

Androidの自作ライブラリの公開手順まとめ

Last updated at Posted at 2014-12-27

概要

Androidで作成した自作ライブラリをGithubを利用して公開するための手順。結構躓いたので備忘録として手順をひと通りまとめてみる。mavenについて理解が甘いのでとりあえず手順だけ。

準備

公開するライブラリはこちら。以前自分のブログで書いたTabオペレーションのための簡易UIライブラリ。鋭意開発中。。。

【Android】MenuTabのFragmentの遷移を自前のスタックで管理する at 情報系の凡才日記

手順

  1. githubでリポジトリを作る

  2. gradleにMavenリポジトリに登録するためのスクリプトを書く

  3. 書いたタスクを動かしてできた生成物をgithubにpush

  4. 利用

1. リポジトリを作る

ここは普通に作るだけなので省略。

2. gradleにMavenリポジトリに登録するためのスクリプトを書く

build.gradle


apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            repository url: "file://${projectDir}/repository"
            pom.groupId = 'taisho6339'
            pom.artifactId = 'tab-opera'
            pom.version = '0.0.3'
        }
    }
}

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.2'
}

まず重要なのが、

apply plugin: 'com.android.application'

みたいになってるのを

apply plugin: 'android-library'

こう変えないとライブラリプロジェクトとみなされず、配布用 .aarファイルが生成されない。そうなると公開しても利用できない。

3.タスクを動かして生成物をgithubにプッシュ

./gradlew uploadArchives

を実行すると、指定した場所に repository ディレクトリができあがってるはず。
これを、 git pushで公開完了。

利用してみる

利用するときは、使いたいプロジェクトのbuild.gradleにて、

build.gradle


repositories {
    mavenCentral()
    maven {
        url 'https://raw.github.com/taisho6339/TabOpera/master/tabopera/repository'
    }
}

dependencies {
     compile 'taisho6339:tab-opera:0.0.3@aar'
}

を追加すれば完了。

最後に

出来上がったリポジトリ
TabOpera
ライブラリの更新がいちいち面倒なので、

ビルド→uploadArchives→git pushで公開

の流れを自動化させたい。

42
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
43