嘿,兄弟!移动端调试工具Flipper了解一下

栏目: IOS · Android · 发布时间: 6年前

内容简介:Flipper是facebook开源的一个面向移动端(Android/iOS)开发者的桌面调试平台。开源地址:

debug

什么是Flipper

Flipper是facebook开源的一个面向移动端(Android/iOS)开发者的桌面调试平台。

开源地址: https://github.com/facebook/flipper

官网地址: https://fbflipper.com/

它分为两个部分

  • macOS的桌面应用程序(目前仅支持macOS)
  • Android和iOS的原生SDK

桌面部分

可以在 github 下载最新版,当我们在Android或iOS应用中集成好SDK之后,打开桌面应用,可以看到如下窗口,目前它有几个内置的插件,分别是:

  • Logs
  • Layout Inspector
  • Network
  • Sandbox
  • Shared Preferences
  • LeakCanary
  • Crash Reporter Plugin

嘿,兄弟!移动端调试工具Flipper了解一下

注意:除了内置的插件之外,也可以自己开发插件,实现定制的功能

Android SDK集成

1、添加依赖

debugImplementation 'com.facebook.flipper:dolphin:0.14.1'
debugImplementation 'com.facebook.soloader:soloader:0.5.1'

debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'

implementation 'com.squareup.okhttp3:okhttp:3.6.0'

2、启用插件

其中Log默认是打开的无需添加,其他需要通过代码来启用,关键代码如下:

...
final FlipperClient client = AndroidFlipperClient.getInstance(this);

//Network插件
final NetworkFlipperPlugin networkPlugin = new NetworkFlipperPlugin();
final FlipperOkhttpInterceptor interceptor = new FlipperOkhttpInterceptor(networkPlugin);
client.addPlugin(networkPlugin);

//Inspector插件
client.addPlugin(new InspectorFlipperPlugin(this, DescriptorMapping.withDefaults()));

//Sandbox插件
client.addPlugin(new SandboxFlipperPlugin(new SandboxFlipperPluginStrategy() {
    @Nullable
    @Override
    public Map<String, String> getKnownSandboxes() {
        Map map = new HashMap();
        return map;
    }

    @Override
    public void setSandbox(@Nullable String sandbox) {

    }
}));

//SP插件
client.addPlugin(new SharedPreferencesFlipperPlugin(this, "flipper_shared_preference"));

//LeakCanary插件
client.addPlugin(new LeakCanaryFlipperPlugin());

//CrashReporter插件
client.addPlugin(CrashReporterPlugin.getInstance());

client.start();
...

使用效果

Logs

Logs和Android Studio的logcat类似,可以显示log的不同级别及过滤。

嘿,兄弟!移动端调试工具Flipper了解一下

Network

当发起一个网络请求(目前仅支持OkHttp库发起的请求),可以在Network标签下看到详细的网络请求情况。包括request和response。在使用中发现,response在中文解码支持不好,会有乱码。

嘿,兄弟!移动端调试工具Flipper了解一下

Layout

可以在Layout标签下看到Activity布局。有一个好处是,当修改View的样式或者文字等其他属性时,可以实时反馈到手机或模拟器上。

嘿,兄弟!移动端调试工具Flipper了解一下

Shared Preferences

在Shared Preferences标签下,可以显示sp文件的 keyvalue ,并且在此修改的值也可以实时在手机或模拟器上修改。

嘿,兄弟!移动端调试工具Flipper了解一下

LeakCanary

经测试,这部分功能不是很稳定,内存泄漏信息不能完整显示。

嘿,兄弟!移动端调试工具Flipper了解一下

关于Sandbox和CrashReporter,目前文档上的使用不是特别明确,不在演示。

结论

Flipper截止目前(2019-01-18)最新的版本是v0.14.1,开源的时间也没多久,有一些功能和文档还不是特别完善,比如有一些功能仅支持Android或者仅支持iOS,但是仓库的更新非常频繁,并且支持开发者自己开发插件。我们一起期待Flipper越来越好用。

作者博客:https://democome.com

本文由 snow 创作,采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

最后编辑时间为: 2019/01/20 12:51


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Haskell

Haskell

Simon Thompson / Addison-Wesley / 1999-3-16 / GBP 40.99

The second edition of Haskell: The Craft of Functional Programming is essential reading for beginners to functional programming and newcomers to the Haskell programming language. The emphasis is on th......一起来看看 《Haskell》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具