JRebel for Android とは?
ZeroTurnaround社のプロダクトの一つで、Androidアプリ開発を爆速にしようとするツールのようです。キャッチコピーは、Live Android Developmentです。
今はまだベータ版で、招待制になっています。
導入方法
注意
invitationを受け取ったメールアドレスでactivateしないと、このツールは使えません。 使ってみたい場合は、この公式サイトからbeta版を申し込みましょう。
1. Pluginのインストール
IntelliJ IDEA pluginとして提供されているので、AndroidStudioのPreference > Pluginからインストール出来ます。今回は限定的な公開なので、専用のリポジトリを指定してそこからインストールしました。
AndroidStudioを再起動すると、Activateするためのダイアログが表示され、招待されたメールアドレスを入力すると以下のようなダイアログが出て、インストールが完了しました。
2. Run with JRebel for Androidを実行
とりあえずJRebel for Androidが追加したRunボタンがあるから、それを実行しろとのことなので、適当なプロジェクトを開きました。確かにそのようなボタンが増えてました。ロケットですね。
最初にこのRun with JRebel for Androidを実行すると、何かイニシャライズしてるのか分かりませんが、通常のGradleでのビルドよりちょっと時間がかかりました。
初回のビルドが終わると、自動で以下のようにbuild.gradleにpluginの記述が追記され、専用のコンソールがオープンされました。
apply plugin: 'com.zeroturnaround.jrebel.android'
使い方
1. Run with JRebel for Android
準備として、必ず最初にRun with JRebel for Androidで実機にアプリを、インストール&起動させる必要があるようです。そうするとJRebel for Androidのコンソールに、"Application started and ready for use." と出ます。
同じく実機の方にも、"JRebel for Android started" のToastが表示されました。
2. Make Module
1の状態を保ったまま、ソースコードなりリソースなり修正します。修正が終わったら、Build > Make Module 'app'
を実行します。ショートカットだと shift+command+F9
です。
しばらくするとアプリの表示が更新され、"Reloaded classes" とまたもやToastが表示されました。
感想
試した環境はこんな感じです。
- MacBookAir Mid 2011
- AndroidStudio 1.3 Preview3
- Xperia Z1f
- サンプルコード程度のかなり小さいプロジェクト
5回ほど更新してみたところ、だいたい10秒前後で実機に反映されました。 確かにこれなら実機で爆速開発が出来そうな気がしました。特にリソースの変更をすぐに実機で確認したいとか、よくあるケースなので神ツールになりそうな感じがします。
ちなみに、実機側でも "Service connected" とToastが出るので、何かServiceが動いてるようです。が、どれがJRebelのかは分かりませんでした。