Desarrollo de Android Utilice Chrome para depurar su aplicación de Android

Siempre he tenido debilidad por Chrome. Además de ser más rápido, Chrome es más amigable con los desarrolladores. Potentes herramientas de desarrollo integradas, creo que el desarrollo web simplemente no puede dejarlo de lado. Y Chrome Store ofrece una variedad de complementos, no puede usarlos, solo no puede pensar en ellos. Hoy en día, Chrome puede hacer todo básicamente. A veces me pregunto qué tan conveniente sería si Chrome se pudiera usar para depurar la aplicación de Android. Ahora Facebook acaba de abrir una herramienta Stetho , y Chrome para depurar Android ya no es un sueño.

Herramientas de depuración

Además de algunas herramientas de depuración oficiales en el desarrollo de Android, hay dos herramientas que creo que son necesarias.

  • Herramienta de captura de paquetes

El mejor para la plataforma Windows debería ser Fiddle, y el mejor para Mac debería ser Charles. Esto debería ser imprescindible para el desarrollo de aplicaciones, ya sea Android o iOS.

  • Vista de sqlite

Esta herramienta es mucho más. Además de la herramienta sqlite3 incorporada, todavía hay algunas herramientas GUI que son más convenientes. No las enumeraré una por una. Puede buscar y encontrar las herramientas que le gustan. Hay algunos complementos del navegador y algunos Algunos clientes de varias plataformas. Lo que necesita saber es que necesita root si desea ver los archivos sqlite en la aplicación.

Stetho

Aunque la herramienta de captura de paquetes es fácil de usar, es problemático configurar un proxy en el teléfono cada vez y es aún más problemático ver el archivo sqlite como root. Pero con stetho, todas estas herramientas están integradas, son fáciles de usar, no tienen root, echemos un vistazo al uso de la demostración oficial.

  • Primero, Gradle depende de
dependencies {
     
     
  compile 'com.facebook.stetho:stetho:1.0.1'
}
  • Luego configúrelo en la clase de Aplicación de su Aplicación
public class MyApplication extends Application {
     
     
  public void onCreate() {
     
     
    super.onCreate();
    Stetho.initialize(
      Stetho.newInitializerBuilder(this)
        .enableDumpapp(
            Stetho.defaultDumperPluginsProvider(this))
        .enableWebKitInspector(
            Stetho.defaultInspectorModulesProvider(this))
        .build());
  }
}

Luego, puede ejecutar la aplicación para la depuración, que básicamente puede satisfacer las necesidades de depuración.

  • Depuración de 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

Supongo que te gusta

Origin blog.csdn.net/xhf_123/article/details/50016165
Recomendado
Clasificación