• Stars
    star
    359
  • Rank 114,827 (Top 3 %)
  • Language
    Java
  • License
    MIT License
  • Created over 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Flipper (Extensible mobile app debugger) for flutter.

flutter_flipperkit

pub version

Table of Contents generated with DocToc

Introduction

Flipper (Extensible mobile app debugger) for flutter. View document

Features

  • Network inspector
  • Shared preferences inspector
  • Redux inspector
  • Database Browser

Quick Start

Prerequisites

Before starting make sure you have:

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  flutter_flipperkit: ^0.0.29

Or

dependencies:
  flutter_flipperkit:
    git:
      url: https://github.com/leanflutter/flutter_flipperkit
      ref: main

Android

Change your project files according to the example:

android/settings.gradle:

include ':app'

def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()

assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }

def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

+ def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
+ def plugins = new Properties()
+ def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
+ assert pluginsFile.exists()
+ pluginsFile.withReader("UTF-8") { reader -> plugins.load(reader) }
+ plugins.each { name, path ->
+     def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
+     if (name == 'flutter_flipperkit') {
+         include ':flipper-no-op'
+         project(':flipper-no-op').projectDir = new File(pluginDirectory, 'flipper-no-op')
+     }
+ }

iOS

Open ios/Runner.xcworkspace Add a empty Swift file (e.g Runner-Noop.swift) into Runner Group And make sure the Runner-Bridging-Header.h file is created.

Change your project ios/Podfile file according to the example:

# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

Usage

import 'package:flutter_flipperkit/flutter_flipperkit.dart';

void main() {
  FlipperClient flipperClient = FlipperClient.getDefault();

  flipperClient.addPlugin(new FlipperNetworkPlugin(
    // If you use http library, you must set it to false and use https://pub.dev/packages/flipperkit_http_interceptor
    // useHttpOverrides: false,
    // Optional, for filtering request
    filter: (HttpClientRequest request) {
      String url = '${request.uri}';
      if (url.startsWith('https://via.placeholder.com') || url.startsWith('https://gravatar.com')) {
        return false;
      }
      return true;
    }
  ));
  flipperClient.addPlugin(new FlipperReduxInspectorPlugin());
  flipperClient.addPlugin(new FlipperSharedPreferencesPlugin());
  flipperClient.start();

  runApp(MyApp());
}

...

Please refer to examples, to integrate flutter_flipperkit into your project.

You can install packages from the command line:

$ flutter clean
$ flutter packages get

Run the app

$ flutter run

Related Links

Discussion

If you have any suggestions or questions about this project, you can discuss it by Telegram Group with me.

License

MIT License

Copyright (c) 2019-2023 LiJianying <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

More Repositories

1

awesome-flutter-desktop

A curated list of awesome things related to Flutter desktop.
1,468
star
2

flutter_distributor

An all-in-one Flutter application packaging and distribution tool, providing you with a one-stop solution to meet various distribution needs.
Dart
726
star
3

window_manager

This plugin allows Flutter desktop apps to resizing and repositioning the window.
C++
658
star
4

widget-livebook

Live preview example for flutter widgets.
Dart
609
star
5

auto_updater

This plugin allows Flutter desktop apps to automatically update themselves (based on sparkle and winsparkle).
C++
263
star
6

tray_manager

This plugin allows Flutter desktop apps to defines system tray.
C++
217
star
7

hotkey_manager

This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).
Dart
127
star
8

.github

94
star
9

launch_at_startup

This plugin allows Flutter desktop apps to Auto launch on startup / login.
C++
81
star
10

screen_capturer

This plugin allows Flutter desktop apps to capture screenshots.
C++
78
star
11

protocol_handler

This plugin allows Flutter apps to register and handle custom protocols (i.e. deep linking).
C++
73
star
12

contextual_menu

This plugin allows Flutter desktop apps to create native context menus.
C++
73
star
13

local_notifier

This plugin allows Flutter desktop apps to notify local notifications.
C++
68
star
14

screen_text_extractor

This plugin allows Flutter desktop apps to extract text from screen.
C++
52
star
15

clipboard_watcher

This plugin allows Flutter apps to watch clipboard changes.
C++
48
star
16

screen_retriever

This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.
C++
45
star
17

flipper-plugin-reduxinspector

Redux Inspector for flipper (Extensible mobile app debugger).
JavaScript
42
star
18

anyinspect_app

AnyInspect desktop app.
Dart
41
star
19

flutter_apps

A collection of apps built on Flutter.
Dart
38
star
20

flutter_flipperkit_plugins

Plugins for flutter flipperkit.
Dart
33
star
21

uni_links_desktop

A desktop (supports macOS and Windows) implementation of uni_links plugin.
C++
28
star
22

keypress_simulator

This plugin allows Flutter desktop apps to simulate key presses.
C++
26
star
23

flutter_tencent_captcha

适用于 Flutter 的腾讯云验证码插件
Java
25
star
24

uni_translate

A universal translate client.
Dart
21
star
25

flutter_aliyun_captcha

适用于 Flutter 的阿里云滑动验证插件
Dart
20
star
26

influxui

A fully featured Flutter widgets library, Inspired by mantine.
Dart
16
star
27

uni_ocr

A universal ocr client.
Dart
16
star
28

flutter_svprogresshud

A clean and lightweight progress HUD for flutter app.
Objective-C
15
star
29

flutter_superplayer

适用于 Flutter 的腾讯云超级播放器插件
Java
14
star
30

makeanyicon

A configurable icon maker.
Dart
11
star
31

vclibs

Let your flutter windows apps include vclibs.
C++
11
star
32

shortcut_menu_extender

This plugin allows Flutter apps to Extending global shortcut menus.
C++
11
star
33

storybook_dart

Storybook for Flutter, build your Flutter widgets storybook using storybookjs.
Dart
11
star
34

anyinspect

AnyInspect is a tool for debugging your Flutter apps.
Dart
10
star
35

flutter_qiyu

适用于 Flutter 的七鱼客服插件
Objective-C
9
star
36

flutter_photo_picker

Photo Picker plugin for Flutter.
Swift
9
star
37

awesome-flutter-mobile

A curated list of awesome things related to Flutter mobile.
9
star
38

flutter_txugcupload

适用于 Flutter 的腾讯云点播上传 SDK
Objective-C
7
star
39

menu_base

Dart
5
star
40

flutter_yunpian_captcha

适用于 Flutter 的云片行为验证插件
Java
5
star
41

sync2gitee

LeanFlutter - To make the flutter even simpler
5
star
42

flipper-plugin-dbbrowser

Database Browser for flipper (Extensible mobile app debugger).
JavaScript
4
star
43

any_icon_maker

A configurable icon maker.
Dart
4
star
44

preference_list

Simplifies building preference pages with flexibility and ease-of-use.
Dart
3
star
45

anyinspect_web

AnyInspect website.
TypeScript
3
star
46

embed_web_pkgs

Dart
3
star
47

anyinspect_plugins

Plugins for AnyInspect
Dart
3
star
48

flutter_flipperkit_examples

Examples for flutter flipperkit.
Dart
3
star
49

flutter_desktop_examples

C++
2
star
50

leanflutter_snippets

Dart
2
star
51

flutter-desktop-plugins

Swift
2
star
52

awesome_list_maker

A awesome list maker
Dart
2
star
53

website

LeanFlutter web site
Astro
2
star
54

flutter_universal_boilerplate

Dart
1
star
55

base_orm

Dart
1
star
56

flutter_distributor_docs_zh

1
star
57

flutter_yidun_captcha

适用于 Flutter 的网易易盾行为式验证码插件
Java
1
star
58

anyinspect_integrate_example

C++
1
star
59

openai-api-bridge

TypeScript
1
star
60

analyzeanyapp

1
star
61

all_sponsors_maker

Dart
1
star
62

mostly_reasonable_lints

A mostly reasonable set of lints for Dart and Flutter projects.
Dart
1
star