[android测试]集成手机数据查看功能

facebook提供的开源项目stetho

Alternatively you can include Stetho from Maven Central via Gradle or Maven.

//Gradle dependencyonStethodependencies{compile'com.facebook.stetho:stetho:1.5.0'}

com.facebook.stethostetho1.5.0

Only the mainstethodependency is strictly required, however you may also wish to use one of the network helpers:

dependencies{compile'com.facebook.stetho:stetho-okhttp3:1.5.0'}

or:

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

or:

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

Features

[android测试]集成手机数据查看功能_第1张图片


Chrome DevTools

The integration with the Chrome DevTools frontend is implemented using a client/server protocol which the Stetho software provides for your application. Once your application is integrated, simply navigate tochrome://inspectand click "Inspect" to get started!

[android测试]集成手机数据查看功能_第2张图片


Network Inspection

Network inspection is possible with the full spectrum of Chrome Developer Tools features, including image preview, JSON response helpers, and even exporting traces to the HAR format.

[android测试]集成手机数据查看功能_第3张图片


Database Inspection

SQLite databases can be visualized and interactively explored with full read/write capabilities.

[android测试]集成手机数据查看功能_第4张图片


View Hierarchy

View hierarchy support for ICS (API 15) and up! Lots of goodies such asinstances virtually placed in the hierarchy, view highlighting, and the ability to tap on a view to jump to its position in the hierarchy.


dumpapp

Dumpapp extends beyond the DevTools UI features shown above to provide a much more extensible, command-line interface to application components. A default set of plugins is provided, but the real power of dumpapp is the ability to easily create your own!

[android测试]集成手机数据查看功能_第5张图片


Javascript Console

Javascript Console allows for execution of javascript code that can interact with the application or even the Android SDK.

Integrations

Setup

Integrating withStethois intended to be seamless and straightforward for most existing Android applications. There is a simple initialization step which occurs in yourApplicationclass:

publicclassMyApplicationextendsApplication{publicvoidonCreate(){super.onCreate();Stetho.initializeWithDefaults(this);}}

This brings up most of the default configuration but does not enable some additional hooks (most notably, network inspection). See below for specific details on individual subsystems.

Enable Network Inspection

If you are using the popular OkHttp library at the 2.2.x+ or 3.x release, you can use the Interceptors system to automatically hook into your existing stack. This is currently the simplest and most straightforward way to enable network inspection.

For OkHttp 2.x

OkHttpClientclient=newOkHttpClient();client.networkInterceptors().add(newStethoInterceptor());

For OkHttp 3.x

newOkHttpClient.Builder().addNetworkInterceptor(newStethoInterceptor()).build();

As interceptors can modify the request and response, add the Stetho interceptor after all others to get an accurate view of the network traffic.

If you are usingHttpURLConnection, you can useStethoURLConnectionManagerto assist with integration though you should be aware that there are some caveats with this approach. In particular, you must explicitly addAccept-Encoding: gzipto the request headers and manually handle compressed responses in order for Stetho to report compressed payload sizes.

See the stetho-sample project for more details.

Custom dumpapp Plugins

Custom plugins are the preferred means of extending the dumpapp system and can be added easily during configuration. Simply replace your configuration step as such:

Stetho.initialize(Stetho.newInitializerBuilder(context).enableDumpapp(newDumperPluginsProvider(){@OverridepublicIterableget(){returnnewStetho.DefaultDumperPluginsBuilder(context).provide(newMyDumperPlugin()).finish();}}).enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context)).build());

See the stetho-sample project for more details.

Contributions

UseGitHub issuesfor requests. We actively welcome pull requests; learn how tocontribute.

Changelog

Changes are tracked asGitHub releases.

License

Stetho isBSD-licensed. We also provide an additionalpatent grant.

Tweet

你可能感兴趣的:([android测试]集成手机数据查看功能)