画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

Betaでアプリを配信する

Crashlyticsはちょこちょこ使った事あるけど、Betaは使い慣れてないのでやってみた。 昔作ったサンプルアプリに導入してみた。

コマンドラインからBetaにアップしたい

Android Studioプラグインを使えばアップ出来るのだが、apkファイルを手作業で選択してアップする必要があったので異様にめんどくさい。以下のコマンドでアップする。既にCrashlyticsが導入済みであれば普通に使えるはず。

./gradlew assembleDebug crashlyticsUploadDistributionDebug

crashlyticsUploadDistributionDebugを実行すればよしなにビルドしてアップしてくれるのかと思ったけど、単純にapkファイルをアップするだけでビルドしてくれないので注意。

Release noteを自動的に入れたい

何も考えずにアップすると空欄になるので、どのビルド分がアップされたのか全然わからない。

gradleに以下のような感じで追加する

# defaultConfig配下に追加する
ext.betaDistributionReleaseNotes = getBranch() + getCommitLog()

static def getCommitLog() {
    return  'git log -n 1'.execute().text
}

static def getBranch() {
    return  'git rev-parse --abbrev-ref HEAD'.execute().text
}

これを入れると以下のようにRelese noteに入るようになってた。

f:id:mapyo:20170326134648p:plain

このプルリクで実際に動いてた https://github.com/mapyo/FindTravel/pull/2/files

Betaにアップした時に自動的に配信する

Betaは何もしないとWeb画面上でポチポチしないと配信されない??っぽいので、build.gradleに以下を追加する

ext.betaDistributionGroupAliases = "testers"

testersというグループにアップした時に配信してくれる。 ユーザを指定する時は以下のように書けばよさそう

ext.betaDistributionEmails="BetaUser@yourcompany.com, BetaUser2@yourcompany.com"

参考

Distribution with Gradle — Fabric for Android documentation

qiita.com

qiita.com