Skip to content

Commit e36198e

Browse files
committedApr 6, 2015
Merge pull request hehonghui#73 from BillionWang/master
Merged
2 parents d90f832 + 001c2d1 commit e36198e

File tree

1 file changed

+77
-0
lines changed
  • androidweekly/在Android调试模式中使用Stetho

1 file changed

+77
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#Stetho for Android debug builds only
2+
# 在Android调试模式中使用Stetho
3+
------
4+
5+
- 原文链接:[在Android调试模式中使用Stetho][11]
6+
- 译者:BillionWang
7+
- 校对者
8+
- 状态:完成
9+
10+
最近FaceBook发布了一个叫做[Stetho][2]的工具.这个工具是一个谷歌浏览器的开发者工具扩展 ,它可以用来检测你的应用。我发现这东西挺好用的,因为它还提供了访问应用中SQLite数据库的接口。很明显,这种类型的工具只应该在应用的调试模式中使用。接下来我们来看看怎么用这个工具。
11+
12+
13+
#添加依赖
14+
为了保证只在调试模式中使用Stetho,你可以添加一个调试编译依赖,而不是平时常用的普通依赖类型。
15+
16+
depencencies {
17+
// your other dependencies here...
18+
debugCompile 'com.facebook.stetho:stetho:1.0.0'
19+
}
20+
21+
#在调试模式中初始化Stetho
22+
23+
现在我们在调试中使用Stetho。你会怎么做?当然使用牛逼闪闪的Android Gradle构建系统啦。创建一个源文件夹,目录结构为 <font color="red">src/debug/java</font>。这个目录中的代码仅仅是用于调试模式。这个目录结构和<font color="red">src/main/java</font>很像,因为构建模式就是用于应用程序的调试的。(这句话再想想)。然后添加一个[Stetho][5]主页上描述的 [Application][6]
24+
25+
import com.facebook.stetho.Stetho;
26+
27+
public class MyDebugApplication extends MyApplication {
28+
@Override
29+
public void onCreate() {
30+
super.onCreate();
31+
Stetho.initialize(
32+
Stetho.newInitializerBuilder(this)
33+
.enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
34+
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
35+
.build());
36+
}
37+
}
38+
看清楚这个类是怎样继承一个已经有的<font color="red">MyApplication.</font>类的。这样写的确很方便,因为你的应用里可能已经有一个application来进行其他的初始化了。如果你还没有一个application。你从<font color="red">android.app.Application.</font>继承一个就行了。
39+
40+
#激活我的调试应用
41+
42+
43+
最后一步,我们要做的工具是确保当前的应用的调试版本使用的是MyDebugApplication类。在这里我们用Gradle来验证。在<font color="red">src/debug</font>文件夹中添加一个<font color="red">AndroidManifest.xml</font>
44+
45+
46+
<manifest
47+
package="com.mycompany"
48+
xmlns:android="http://schemas.android.com/apk/res/android"
49+
xmlns:tools="http://schemas.android.com/tools">
50+
51+
<application
52+
tools:replace="android:name"
53+
android:name=".MyDebugApplication"/>
54+
55+
</manifest>
56+
57+
这个<font color="red">AndroidManifest.xml</font>会合并到<font color="red">src/main</font>中的主AndroidManifest.xml文件里,并且会替换标签中的<font color="red">android:name</font>属性。这是因为我们特别添加上了tools:replace="android:name"属性。真屌。
58+
59+
60+
现在当你启动程序的调试模式,[Stetho][8]就会被激活。如果你切换到发布版本,Stetho绝对不会被激活,也看不到它的任何痕迹。如果想要不丢人,程序员要保证软件没有BUG。
61+
62+
63+
#总结
64+
用Android Gradle构建系统,可以很容易的给你的应用添加更多的调试功能。这门手艺不仅可以用在[Stetho][10]上,还可以用于那些你希望仅仅在调试模式中添加的类库或者工具。
65+
66+
67+
[1]: https://github.com/facebook/stetho
68+
[2]: https://github.com/facebook/stetho
69+
[3]: http://developer.android.com/reference/android/app/Application.html
70+
[4]: https://github.com/facebook/stetho
71+
[5]: https://github.com/facebook/stetho
72+
[6]: http://developer.android.com/reference/android/app/Application.html
73+
[7]: https://github.com/facebook/stetho
74+
[8]: https://github.com/facebook/stetho
75+
[9]: https://github.com/facebook/stetho
76+
[10]: https://github.com/facebook/stetho
77+
[11]:http://littlerobots.nl/blog/stetho-for-android-debug-builds-only/

0 commit comments

Comments
 (0)
Please sign in to comment.