diff --git a/example/.flutter-plugins-dependencies b/example/.flutter-plugins-dependencies
index e9e1d25..39ed8d6 100644
--- a/example/.flutter-plugins-dependencies
+++ b/example/.flutter-plugins-dependencies
@@ -1 +1 @@
-{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"video_player","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player-0.10.12+5/","dependencies":[]},{"name":"wakelock","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/wakelock-0.1.4+2/","dependencies":[]}],"android":[{"name":"video_player","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player-0.10.12+5/","dependencies":[]},{"name":"wakelock","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/wakelock-0.1.4+2/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[{"name":"video_player_web","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player_web-0.1.4/","dependencies":[]}]},"dependencyGraph":[{"name":"video_player","dependencies":["video_player_web"]},{"name":"video_player_web","dependencies":[]},{"name":"wakelock","dependencies":[]}],"date_created":"2020-10-17 13:29:56.268274","version":"1.22.1"}
\ No newline at end of file
+{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"video_player","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player-1.0.1/","dependencies":[]},{"name":"wakelock","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/wakelock-0.2.1+1/","dependencies":[]}],"android":[{"name":"video_player","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player-1.0.1/","dependencies":[]},{"name":"wakelock","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/wakelock-0.2.1+1/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[{"name":"import_js_library","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/import_js_library-1.0.2/","dependencies":[]},{"name":"video_player_web","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/video_player_web-0.1.4+1/","dependencies":[]},{"name":"wakelock_web","path":"/Users/daniel/.pub-cache/hosted/pub.dartlang.org/wakelock_web-0.1.0+3/","dependencies":["import_js_library"]}]},"dependencyGraph":[{"name":"import_js_library","dependencies":[]},{"name":"video_player","dependencies":["video_player_web"]},{"name":"video_player_web","dependencies":[]},{"name":"wakelock","dependencies":["wakelock_web"]},{"name":"wakelock_web","dependencies":["import_js_library"]}],"date_created":"2021-01-08 17:34:34.916988","version":"1.22.5"}
\ No newline at end of file
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index 4404896..2dfdeaf 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -7,9 +7,11 @@
          additional functionality it is fine to subclass or reimplement
          FlutterApplication and put your custom class here. -->
     <application
-        android:name="io.flutter.app.FlutterApplication"
         android:label="flutter_barrage_example"
         android:icon="@mipmap/ic_launcher">
+        <meta-data
+            android:name="flutterEmbedding"
+            android:value="2" />
         <activity
             android:name=".MainActivity"
             android:launchMode="singleTop"
@@ -17,13 +19,6 @@
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
             android:hardwareAccelerated="true"
             android:windowSoftInputMode="adjustResize">
-            <!-- This keeps the window background of the activity showing
-                 until Flutter renders its first frame. It can be removed if
-                 there is no splash screen (such as the default splash screen
-                 defined in @style/LaunchTheme). -->
-            <meta-data
-                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
-                android:value="true" />
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
diff --git a/example/android/app/src/main/java/com/example/flutter_barrage_example/MainActivity.java b/example/android/app/src/main/java/com/example/flutter_barrage_example/MainActivity.java
index e392841..c33add6 100644
--- a/example/android/app/src/main/java/com/example/flutter_barrage_example/MainActivity.java
+++ b/example/android/app/src/main/java/com/example/flutter_barrage_example/MainActivity.java
@@ -1,13 +1,6 @@
 package com.example.flutter_barrage_example;
 
-import android.os.Bundle;
-import io.flutter.app.FlutterActivity;
-import io.flutter.plugins.GeneratedPluginRegistrant;
+import io.flutter.embedding.android.FlutterActivity;
 
 public class MainActivity extends FlutterActivity {
-  @Override
-  protected void onCreate(Bundle savedInstanceState) {
-    super.onCreate(savedInstanceState);
-    GeneratedPluginRegistrant.registerWith(this);
-  }
 }
diff --git a/example/android/build.gradle b/example/android/build.gradle
index bb8a303..ea78cdf 100644
--- a/example/android/build.gradle
+++ b/example/android/build.gradle
@@ -5,7 +5,7 @@ buildscript {
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.2.1'
+        classpath 'com.android.tools.build:gradle:4.1.1'
     }
 }
 
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
index 8bd86f6..d12b9a8 100644
--- a/example/android/gradle.properties
+++ b/example/android/gradle.properties
@@ -1 +1,3 @@
 org.gradle.jvmargs=-Xmx1536M
+android.enableR8=true
+android.useAndroidX=true
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties
index 2819f02..12c32c0 100644
--- a/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Jun 23 08:50:38 CEST 2017
+#Fri Jan 08 17:08:30 CST 2021
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
diff --git a/example/pubspec.lock b/example/pubspec.lock
index 4b3c722..e8ca466 100644
--- a/example/pubspec.lock
+++ b/example/pubspec.lock
@@ -35,7 +35,7 @@ packages:
       name: chewie
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.9.10"
+    version: "0.12.1+1"
   clock:
     dependency: transitive
     description:
@@ -50,6 +50,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.15.0-nullsafety.3"
+  csslib:
+    dependency: transitive
+    description:
+      name: csslib
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.16.2"
+  cupertino_icons:
+    dependency: transitive
+    description:
+      name: cupertino_icons
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.0"
   fake_async:
     dependency: transitive
     description:
@@ -79,6 +93,27 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  html:
+    dependency: transitive
+    description:
+      name: html
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.14.0+4"
+  import_js_library:
+    dependency: transitive
+    description:
+      name: import_js_library
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.2"
+  js:
+    dependency: transitive
+    description:
+      name: js
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.6.2"
   matcher:
     dependency: transitive
     description:
@@ -93,13 +128,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0-nullsafety.3"
-  open_iconic_flutter:
-    dependency: transitive
-    description:
-      name: open_iconic_flutter
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.3.0"
   path:
     dependency: transitive
     description:
@@ -113,7 +141,7 @@ packages:
       name: quiver
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.3"
+    version: "2.1.5"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -181,7 +209,7 @@ packages:
       name: video_player
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.10.12+5"
+    version: "1.0.1"
   video_player_platform_interface:
     dependency: transitive
     description:
@@ -195,14 +223,28 @@ packages:
       name: video_player_web
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.1.4+1"
   wakelock:
     dependency: transitive
     description:
       name: wakelock
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4+2"
+    version: "0.2.1+1"
+  wakelock_platform_interface:
+    dependency: transitive
+    description:
+      name: wakelock_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.0+1"
+  wakelock_web:
+    dependency: transitive
+    description:
+      name: wakelock_web
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.0+3"
 sdks:
   dart: ">=2.10.0-110 <2.11.0"
-  flutter: ">=1.12.13+hotfix.5 <2.0.0"
+  flutter: ">=1.22.0 <2.0.0"
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index a2ba0a2..bc61e5d 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -4,7 +4,7 @@ description: An example project for flutter_barrage.
 dependencies:
   flutter:
     sdk: flutter
-  chewie: ^0.9.7
+  chewie: ^0.12.1+1
 
   flutter_barrage:
     path: ../
diff --git a/pubspec.lock b/pubspec.lock
index 6585563..f4fb714 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -87,7 +87,7 @@ packages:
       name: quiver
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.3"
+    version: "2.1.5"
   sky_engine:
     dependency: transitive
     description: flutter
diff --git a/pubspec.yaml b/pubspec.yaml
index 2b1dc3e..06b6fe9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
 name: flutter_barrage
 description: A new barrage package project. Used to send bullet(danmu) to a container.
-version: 0.4.3
+version: 0.4.4
 author: Daniel Wei <danielwii0326@gmail.com>
 homepage: https://github.com/danielwii/flutter_barrage.git
 
@@ -10,7 +10,7 @@ environment:
 dependencies:
   flutter:
     sdk: flutter
-  quiver: ^2.1.3
+  quiver: ^2.1.5
 
 dev_dependencies:
   flutter_test: