この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Crashlytics をベータ版配信に活用しよう
Crashlytics はアプリのクラッシュレポートを収集し、統計を取るためのサービスですが、アプリのベータ版を配信するための Beta Distribution という機能を提供しています。こちらを利用すると、旧 TestFlight や Deploy Gate に近い、ベータ版の配信を行うことができます。
先日 iOS アプリでベータ配信を行う方法をご紹介しましたが、今回は Android アプリでベータ配信する方法をご紹介したいと思います。
事前に必要なこと
Beta Distribution を利用するには、以下の作業が事前に必要になります。
- Android Studio のインストール (2015/05/21現在で 1.2.1.1 が最新バージョン)
- Fabric アカウントの登録 (こちらを参考)
- テスターのメールアドレス
Android Studio に Fabric プラグインをインストールする
まず初めに、Android Studio に Fabric プラグインをインストールしましょう。以下の URL にアクセスし、Fabric プラグインをローカルにダウンロードします。
次に Android Studio のメニューから「Preferences...」を選び、環境設定を開きます。その中の「Plugins」の「Install plugin from disk...」を選択し、先ほどダウンロードしたファイルを開きます。
プラグインのリストの中に「Fabric For Android Studio」が表示されればインストール完了です。
「OK」を押すとリスタートが求められるので、リスタートしましょう。起動するとツールバーの中にアイコンが表示されるはずです。
Crashlytics ライブラリをインストールする
次に、Android アプリプロジェクトに Crashlytics ライブラリをインストールしましょう。現時点(2015/05/21)での最新バージョンの 2.2.4 を導入します。まず、先ほど確認したアイコンをクリックすると、ログイン画面が表示されるはずです。Fabric アカウントの情報を入力してログインしましょう。
ちなみにちょっとした Tips ですが、Fabric からログアウトしたい場合は Fabric プラグイン表示中に Cmd + L または Control + L を押すとできます。
次にインストールするプラグインを選択します。今回は一番上の「Crashlytics」ですね。
次にインストールの手順が表示されます。build.gradle、AndroidManifest.xml、MainActivity.java の編集が必要です。
順番に見て行きましょう。まずは build.gradle に Crashlytics のプラグインをインストールする設定を追加します。
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "jp.classmethod.myapplication"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile('com.crashlytics.sdk.android:crashlytics:2.2.4@aar') {
transitive = true;
}
}
編集が終わったら、Gradle Sync を実行しておきましょう。次に AndroidManifest.xml です。YOUR_API_KEY は適宜変更してください。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.classmethod.myapplication" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="io.fabric.ApiKey"
android:value="YOUR_API_KEY" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
最後に、MainActivity.java です。ここはベータ配信というよりはクラッシュレポート送信のための設定になります。適宜、必要なタイミングで呼び出してください。
package jp.classmethod.myapplication;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
}
}
これでインストールは完了です!
ベータ配信を行う
次に、ベータ配信を行ってみましょう。まず fabric.properties がアプリフォルダ下に生成されているので開きます。この中に、リリースノート、送信したい相手のメールアドレスまたはグループを記入しましょう(グループは Fabric 管理コンソールから設定しておく必要あり)。
#Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public.
#Thu May 21 21:26:34 JST 2015
apiSecret=YOUR_API_SECRET
ext.betaDistributionReleaseNotes="テストのリリースです"
ext.betaDistributionEmails="BetaUser@yourcompany.com"
ext.betaDistributionGroupAliases="my-best-testers"
あとはコマンドを叩くだけです。デバッグビルドで良い場合は assembleDebug crashlyticsUploadDistributionDebug、リリースビルドにしたい場合はassembleRelease crashlyticsUploadDistributionRelease を叩きます。リリースビルドはもちろん Keystore を作成・設定を済ませておく必要があります。
$ ./gradlew assembleRelease crashlyticsUploadDistributionDebug
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
...省略...
:app:assembleDebug
:app:crashlyticsUploadDistributionDebug
Uploading /Users/suwa-yuki/AndroidStudioProjects/MyApplication/app/build/outputs/apk/app-debug.apk to Crashlytics...
BUILD SUCCESSFUL
Total time: 16.192 secs
これで完了です!Fabric 管理コンソールを見てみると、配信できていることが確認できます。
まとめ
iOS に続いて Android での配信までの手順でした。今回は Fabric プラグインの導入から解説しているため少し長くなっていますが、プラグイン導入済みであれば build.gradle と AndroidManifest.xml をちょっと設定するだけで済みます。簡単なので、ぜひ試してみてください。
テスト端末でのインストール手順は次回解説します。