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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

当下的冲击

当下的冲击

道格拉斯•洛西科夫 (Douglas Rushkoff) / 孙浩 赵晖 / 中信出版社 / 2013-10-1 / 59.00元

这是一个并不符合人本能的社会…… 为什么我们不应该更注重生活的质量而非速度? 为什么我们不用面对面的交流代替冷冰冰电脑屏幕上的文字代码? 为什么我们不可以选择一个虽然有缺陷但有血有肉的人类社会,而非一个虽趋于完美但冷漠的数字世界? 在当下的冲击面前,你正变得越来越弱智:你没有了自己的独特空间,你过多地相信真人秀节目,你成了数字化产品的奴隶并得了数字化精神病,你的生物钟也被打......一起来看看 《当下的冲击》 这本书的介绍吧!

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

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具