Développement Android Utilisez Chrome pour déboguer votre application Android

J'ai toujours eu un faible pour Chrome. En plus d'être plus rapide, Chrome est plus convivial pour les développeurs. Des outils de développement puissants intégrés, je crois que le développement Web ne peut tout simplement pas le mettre de côté! Et le Chrome Store fournit une variété de plug-ins, non vous ne pouvez pas les utiliser, mais vous ne pouvez pas y penser. De nos jours, Chrome peut tout faire en gros. Parfois, je me demande à quel point ce serait pratique si Chrome pouvait être utilisé pour déboguer une application Android. Maintenant, Facebook vient d'ouvrir un outil Stetho et Chrome déboguer Android n'est plus un rêve.

Outils de débogage

En plus de certains outils de débogage officiels dans le développement Android, il y a deux outils que je pense nécessaires.

  • Outil de capture de paquets

Le meilleur pour la plate-forme Windows devrait être Fiddle, et le meilleur pour mac devrait être Charles. Cela devrait être un must pour le développement d'applications, que ce soit Android ou iOS.

  • Vue Sqlite

Cet outil est bien plus. En plus de l'outil sqlite3 intégré, il existe encore des outils d'interface graphique plus pratiques. Je ne les listerai pas un par un. Vous pouvez rechercher et trouver les outils que vous aimez. Il existe des plug-ins de navigateur, et d'autres Certains clients de diverses plateformes. Ce que vous devez savoir, c'est que vous avez besoin de root si vous souhaitez afficher les fichiers sqlite dans l'application.

Stetho

Bien que l'outil de capture de paquets soit facile à utiliser, il est difficile de configurer un proxy sur le téléphone à chaque fois.Il est encore plus difficile de visualiser le fichier sqlite en tant que root. Mais avec stetho, ces outils sont tous intégrés, faciles à utiliser, sans racine, jetons un coup d'œil à l'utilisation de la démo officielle.

  • Premièrement, Gradle dépend de
dependencies {
     
     
  compile 'com.facebook.stetho:stetho:1.0.1'
}
  • Puis configurez-le dans la classe Application de votre 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());
  }
}

Ensuite, vous pouvez exécuter l'application pour le débogage, ce qui peut essentiellement répondre aux besoins de débogage.

  • Débogage 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

Je suppose que tu aimes

Origine blog.csdn.net/xhf_123/article/details/50016165
conseillé
Classement