Stetho1.2.0でScreenchastingが実現されている

Stetho1.2.0がリリースされていたので、私向けのメモ含めて。

Changelogはこちら

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に統合されました。

統合するPR

ただ、以下だとキーボードが表示されているのですが、Viewを取得するだけなのでシステム側のViewを持ってくることができません。なら、システムダイアログなんかは取ってこれなさそう。

Screen Shot 2015-09-12 at 12.21.37

少しコード見てみると、確かに activity からViewを取ってきているので、そうっぽい。

View rootView = activity.getWindow().getDecorView();

たとえば、ここの機能だけをみると単純にAndroidアプリをブラウザ上から操作する場合は以下のようなサービスが存在します。

http://www.vysor.io/
http://openstf.io/

これらと比べて技術的にChromeDevToolsを使ってStethoはどうようなことを実現されているぶん、実現も容易になっていそうです。このコードの変更箇所を少し覗いてみましたが、思いの外少ない実装で実現されているのですね…STFはもっとチューニングしてそうなので、ちょっと毛並みが違いそうですが。

Screen Shot 2015-09-12 at 14.59.09

https://github.com/facebook/stetho/pull/190

締め

Screencast自体、いろいろ楽に類似サービスみたいなやつ構築できるようになりそうですね。サービスではなく、内々で使うには十分な感じものもが。時代はChromeDevToolsかなー。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s