19
11

More than 5 years have passed since last update.

【android】apkのuploadを自動化

Last updated at Posted at 2016-10-24

play storeへのapkのuploadを自動化する

gradle-play-publisherというライブラリを利用して、play storeに自動でapkをuploadする方法を紹介します

前準備

サービスアカウントの作成

  • DeveloperConsoleのAPIアクセスにアクセス

https://play.google.com/apps/publish/#ApiAccessPlace
にアクセスをして一番下のサービスアカウント作成を押します

スクリーンショット 2016-10-24 20.48.03.jpg

  • サービスアカウントを作成

スクリーンショット 2016-10-24 20.49.53.png

  • Google API コンソールを押してGoogle APIsに移動します

スクリーンショット 2016-10-24 20.50.29.png

  • 青で表示されているサービスアカウントの作成を押してアカウントを作ります

スクリーンショット 2016-10-24 20.52.38.jpg

役割をオーナーにして秘密鍵はP12を指定しましょう。作成したら作成されるP12ファイルは後ほど使用するので適切な場所に保管して下さい。

  • 作成後最初の画面に戻ってくると、先程作成したアカウントが追加されています

次にアクセスを許可を押します

スクリーンショット 2016-10-24 21.01.00.jpg

  • ここで適切な権限を設定して下さい。ここに表示されているメールアドレスは後ほど使います。

スクリーンショット 2016-10-24 21.05.30.jpg

Upload

grade

  • rootディレクトリのbuild.gradleに追記します(執筆時点は1.1.5なので各自最新バージョンを取得して下さい)
buildscript {

    repositories {
        mavenCentral()
    }

    dependencies {
        // ...
        classpath 'com.github.triplet.gradle:play-publisher:1.1.5'
    }
}
  • applicationディレクトリのbuild.gradleに追記します
    serviceAccountEmailに先程作成したアカウントのmail addressとpk12Fileに作成したp12ファイルのpathを追記します。
apply plugin: 'com.github.triplet.play'

android {
    play {
        track = 'alpha'
        serviceAccountEmail = 'your email address'
        pk12File = file('your p12 path')
    }
}

ここでは
* uploadImages で画像
* track = 'production', userFraction = 0.2 で20%リリース

等の細かな指定が可能です。ここは各自ライブラリのドキュメントを見て下さい。

tasks

ここまで設定できたら
./gradlew tasksを実行するとpublish用のtaskが追加されていると思います。

build variantの名前によりますが、apkが既にある状態ならば
./gradlew publishProductReleaseでuploadされるかと思います
他にも作成されるのでドキュメントを見て下さい。

現在のプロジェクトではCircleCIを利用しているので、例としてmasterブランチにマージされたらapkを上げるとすると
circle.ymlにこのように追加すると自動でapkがstoreにuploadされます


deployment:
  master:
    branch: master
    commands:
      - ./gradlew publishProductRelease
19
11
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
19
11