使用Chrome来调试你的Android App

博客源址http://stormzhang.com/android/2015/03/05/android-debug-use-chrome/

个人一直对Chrome情有独钟,Chrome除了更快之外,对开发者的支持更友好。内置强大的Developer Tools,相信Web开发简直爱不释手!而且Chrome Store里提供各种各样的插件,没有你用不到,只有你想不到。现在任何事基本Chrome全部办的到,有时候就在想,如果可以用Chrome调试Android App该多方便,而如今Facebook刚刚开源了一个工具Stetho,从此Chrome调试Android不再是梦。

调试工具

在Android开发中除了一些官方自带的一些调试工具外,还有两个工具我认为是必备的。

  • 抓包工具

windows平台最好用的应该是Fiddle, mac上最好用的应该是Charles。这个应该是App开发必备,不管是Android还是iOS。

  • Sqlite查看

这个工具就多了,除了自带的sqlite3工具之外,还是需要一些GUI方面的工具更方便,就不一一列举了,大家自行搜索找到自己喜欢的工具就行了,有一些浏览器插件,也有一些各个平台的客户端。需要知道的是如果想查看App内的sqlite文件需要root。

Stetho

抓包工具虽然好用,但是每次都要在手机设置代理,也挺麻烦的,查看sqlite文件必须要root这点更麻烦。但是有了stetho,这些工具全部自带了,使用方便,无须root,下面就来看下官方demo介绍的使用用法。

  • 首先Gradle进行依赖
dependencies {
  compile 'com.facebook.stetho:stetho:1.0.1'
}
  • 然后在你的App的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());
  }
}

然后就可以运行App进行调试,基本上可以满足调试需求了。

  • 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

說明 您可以在 Android 手機和平板電腦上使用您喜愛的 Google Chrome 瀏覽器快速瀏覽網路,就像在電腦上使用 Google Chrome 一樣。Google Chrome 會記住上次結束瀏覽時的狀態與設定,即使您透過其他裝置使用 Chrome,也能輕鬆接續瀏覽。另外,Google Chrome 還提供語音搜尋功能,且讓您在瀏覽時最多可減少 50% 的數據傳輸量。 • 在所有裝置上保持同步:已開啟的分頁和已建立的書籤會在您的筆記型電腦、手機或平板電腦上保持同步,讓您在所有裝置上都能順利存取及開啟 • 節省數據傳輸量:瀏覽時最多可減少 50% 的行動數據傳輸量 • 瀏覽速度更快:輸入查詢的同時即可從互動智慧搜尋結果中選擇建議的項目,並可快速存取先前造訪過的網頁 • 語音搜尋:隨時隨地皆可使用神奇的 Google 語音搜尋服務,不需手動輸入就能找到答案 • 翻譯:輕鬆瀏覽各種語言的網頁 • 手勢操作簡單易用:您可以任意開啟分頁 (數量不拘),而且只要從工具列一側滑向另一側,即可快速瀏覽開啟的分頁 • 隱私權:只要使用無痕模式,Google Chrome 就不會儲存瀏覽紀錄 新功能 • 穩定性與安全性更新 其他資訊 已更新 2014年4月4日 大小 因裝置而異 安裝次數 100,000,000 - 500,000,000 目前版本 因裝置而異 Android 最低版本需求 4.0 以上 內容分級 心智成熟度 - 低 與開發人員聯絡 造訪開發人員的網站 隱私權政策
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值