Stetho1.2.0がリリースされていたので、私向けのメモ含めて。
New
- Chromeへのscreencasting
- initalizeするのが楽になった
他にも、SQLに対してEXPLAINできるようになったり。ElementタブからCTRL+Fして要素を検索できるようになったり。
initalizeが楽になった
今まで、複数行を使って Stetho.initialize に与えていたものが、1行に済むように。例えば以下。
public class DebugStetho {
public static void setUpStetho(Context context) {
- Stetho.initialize(
- Stetho.newInitializerBuilder(context)
- .enableDumpapp(Stetho.defaultDumperPluginsProvider(context))
- .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context))
- .build());
+ Stetho.initializeWithDefaults(context);
Timber.plant(new StethoTree());
}
Screencasting
ChromeDevToolsの機能を使って、AndroidのViewをChrome上に表示させる、という機能です。(ChromeDevTools自体、こういう機能あったのですね。この機能を知るまで、全く知らなかったです…)それがStethoに統合されました。
ただ、以下だとキーボードが表示されているのですが、Viewを取得するだけなのでシステム側のViewを持ってくることができません。なら、システムダイアログなんかは取ってこれなさそう。
少しコード見てみると、確かに activity からViewを取ってきているので、そうっぽい。
View rootView = activity.getWindow().getDecorView();
たとえば、ここの機能だけをみると単純にAndroidアプリをブラウザ上から操作する場合は以下のようなサービスが存在します。
http://www.vysor.io/
http://openstf.io/
これらと比べて技術的にChromeDevToolsを使ってStethoはどうようなことを実現されているぶん、実現も容易になっていそうです。このコードの変更箇所を少し覗いてみましたが、思いの外少ない実装で実現されているのですね…STFはもっとチューニングしてそうなので、ちょっと毛並みが違いそうですが。
締め
Screencast自体、いろいろ楽に類似サービスみたいなやつ構築できるようになりそうですね。サービスではなく、内々で使うには十分な感じものもが。時代はChromeDevToolsかなー。

