Android開発Chromeを使用してAndroidアプリをデバッグする

私は以前からChromeに弱いところがありましたが、高速であることに加えて、Chromeは開発者にとってよりフレンドリーです。強力な開発者ツールが組み込まれているため、Web開発ではそれを止めることはできないと思います。また、Chrome Storeにはさまざまなプラグインが用意されており、使用することはできません。現在、Chromeは基本的にすべてを行うことができます。Chromeを使用してAndroidアプリをデバッグできると便利だと思うことがあります。FacebookがツールStethoをオープンソース化しただけで、ChromeのAndroidデバッグはもはや夢ではありません。

デバッグツール

Android開発のいくつかの公式のデバッグツールに加えて、私が必要だと思う2つのツールがあります。

  • パケットキャプチャツール

Windowsプラットフォームに最適なのはFiddleで、Macに最適なのはCharlesです。これは、AndroidであろうとiOSであろうと、アプリ開発には必須です。

  • Sqliteビュー

このツールはもっと便利です。組み込みのsqlite3ツールに加えて、より便利なGUIツールがまだいくつかあります。それらを1つずつリストすることはしません。好きなツールを検索して見つけることができます。いくつかのブラウザープラグインやさまざまなプラットフォームの一部のクライアント。アプリでsqliteファイルを表示するには、rootが必要であることを知っておく必要があります。

ステト

パケットキャプチャツールは使いやすいですが、毎回電話にプロキシを設定するのは面倒であり、ルートとしてsqliteファイルを表示するのはさらに面倒です。しかし、stethoでは、これらのツールはすべて組み込みで使いやすく、ルートは必要ありません。公式デモの使用方法を見てみましょう。

  • まず、Gradleは
dependencies {
     
     
  compile 'com.facebook.stetho:stetho:1.0.1'
}
  • 次に、アプリのApplicationクラスで構成します
public class MyApplication extends Application {
     
     
  public void onCreate() {
     
     
    super.onCreate();
    Stetho.initialize(
      Stetho.newInitializerBuilder(this)
        .enableDumpapp(
            Stetho.defaultDumperPluginsProvider(this))
        .enableWebKitInspector(
            Stetho.defaultInspectorModulesProvider(this))
        .build());
  }
}

その後、デバッグのためにアプリを実行できます。これは基本的にデバッグのニーズを満たすことができます。

  • Chromeデバッグ

打开Chrome,输入 chrome://inspect 然后就可以在列表里看到有你的app可以用stetho进行调试的app,facebook官方也提供了一个基本的sample,以下是它的sample提供的调试截图

基本功能使用

  • 检测网络状态

  • 查看App本地数据库并且可以直接执行SQL

  • 查看App本地的SharedPreference文件并可以直接编辑

注意事项

值得注意的是如果你只是简单的进行配置下,检测网络状态的是没法查看,有两种方式:

  • 使用OkHttp

这是最简单的一种方式,要求OkHttp的版本在2.2.x+,只需要添加如下代码, 这也是目前最简单的方法

OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());
  • 使用HttpURLConnection

如果你使用的自己写的或者其他http library底层是用HttpURLConnection实现的,你需要使用StethoURLConnectionManager来进行集成。然后必须声明Accept-Encoding: gzip的请求headers。具体用法见facebook stetho源码的sample。

其中你可能会依赖如下network helpers.

dependencies {
     
     
  compile 'com.facebook.stetho:stetho-okhttp:1.0.1'
}

或者

dependencies {
     
     
  compile 'com.facebook.stetho:stetho-urlconnection:1.0.1'
}

最后,提供一个facebook stetho demo的一个下载。

Stetho Sample

おすすめ

転載: blog.csdn.net/xhf_123/article/details/50016165