diff --git a/.gitignore b/.gitignore
index 47e0b4d6..639431bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
 # Miscellaneous
 *.class
-*.lock
 *.log
 *.pyc
 *.swp
@@ -9,6 +8,15 @@
 .buildlog/
 .history
 .svn/
+*.lock
+.vscode
+.gradle
+.idea
+/local.properties
+.DS_Store
+/build
+.metadata
+
 
 # IntelliJ related
 *.iml
@@ -26,7 +34,7 @@
 .packages
 .pub-cache/
 .pub/
-build/
+/build/
 
 # Android related
 **/android/**/gradle-wrapper.jar
diff --git a/.gradle/3.5.1/file-changes/last-build.bin b/.gradle/3.5.1/file-changes/last-build.bin
deleted file mode 100644
index f76dd238..00000000
Binary files a/.gradle/3.5.1/file-changes/last-build.bin and /dev/null differ
diff --git a/.gradle/3.5.1/taskHistory/taskHistory.lock b/.gradle/3.5.1/taskHistory/taskHistory.lock
deleted file mode 100644
index 1a1ada52..00000000
Binary files a/.gradle/3.5.1/taskHistory/taskHistory.lock and /dev/null differ
diff --git a/.gradle/buildOutputCleanup/built.bin b/.gradle/buildOutputCleanup/built.bin
deleted file mode 100644
index e69de29b..00000000
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
deleted file mode 100644
index 061d565e..00000000
--- a/.gradle/buildOutputCleanup/cache.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Thu Nov 22 22:29:42 CST 2018
-gradle.version=3.5.1
diff --git a/.gradle/buildOutputCleanup/cache.properties.lock b/.gradle/buildOutputCleanup/cache.properties.lock
deleted file mode 100644
index 40fdece9..00000000
--- a/.gradle/buildOutputCleanup/cache.properties.lock
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index bbfd110a..00000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    // 使用 IntelliSense 了解相关属性。 
-    // 悬停以查看现有属性的描述。
-    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
-    "version": "0.2.0",
-    "configurations": [
-        {
-            "name": "Flutter",
-            "request": "launch",
-            "type": "dart"
-        }
-    ]
-}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 9a7349a6..00000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    "editor.fontSize": 14,
-
-}
\ No newline at end of file
diff --git a/README-en.md b/README-en.md
index 8d12ec7a..e6a91cfe 100644
--- a/README-en.md
+++ b/README-en.md
@@ -9,7 +9,7 @@
 
 Android download URL:
 
-<img src="https://img.alicdn.com/tfs/TB180.kOhYaK1RjSZFnXXa80pXa-442-420.png" width="200px">
+<img src="https://img.alicdn.com/tfs/TB1jGgfQ7voK1RjSZFNXXcxMVXa-438-426.png" width="200px">
 
 Iphone download URL:
 No
diff --git a/README.md b/README.md
index 5568e6f8..6ec8fa68 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,12 @@ Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en.
 
 [<< Flutter Go 开发规范第一版 >>](https://github.com/alibaba/flutter-go/blob/develop/Flutter_Go%20%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83.md)
 
+## The Flutter-Go Roadmap(路线图) for 2019 
+> 考虑到 Flutter 未来的变化和策略的可变性, roadmap 不排除有一定调整,但总体不会变化太大。
+
+<img src="https://img.alicdn.com/tfs/TB19UahQQzoK1RjSZFlXXai4VXa-1500-1106.png" width="600px">
+
+
 ## Release安装包下载地址
 
 android下载地址:
@@ -52,7 +58,7 @@ flutter优点主要包括:
 
 #### Flutter Go 的优势
 
-- 详解常用widget多达 **140+** 个
+- 详解常用 widget 多达 **140+** 个
 - 配套 Demo 详解 widget 常规用法
 - 集中整合 widget 案例,一个 APP 搞定所有常用 widget 的用法
 - 持续迭代 ‘追新’ 官方版本
@@ -98,33 +104,3 @@ flutter优点主要包括:
 
 Powered by [阿里拍卖前端团队](https://github.com/alibaba-paimai-frontend)<img src="https://img.alicdn.com/tfs/TB1foEhAMHqK1RjSZJnXXbNLpXa-166-166.png" width=20 height=20>
 
-
----
-
-## 加个广告:团队招聘
-
-  ### 🔥《阿里巴巴集团春季校园招聘》已经启动。
-  
-- 团队获取此消息后第一时间,赶紧通知,各位刚走出校园的千里马,走进阿里的机会来了!!!
- 
- 基本要求如下:
- 
- - 招收 2019年11月-2020年10月 毕业的同学
- - 本次校招行动共执行四周,到 4月12日结束
-
-#### 🔔强调一下这次是校招哦!!!如果你有意向,又符合 2019年11月-2020年10月 的应届毕业生条件;
-
-- 不符合,也没关系,可以推荐优秀的学弟,学妹;增进一下“纯洁”的同学感情 👫😎。
-
-#### 请移步往下,关注我们《阿里拍卖团队》 的招聘信息。
-
-<img src="https://img.alicdn.com/tfs/TB1mJ5tL7PoK1RjSZKbXXX1IXXa-748-879.png" width=500>
-
-<img src="https://img.alicdn.com/tfs/TB1PhOrLYrpK1RjSZTEXXcWAVXa-748-794.png" width=500>
-
-<img src="https://img.alicdn.com/tfs/TB1FXOlLYPpK1RjSZFFXXa5PpXa-748-440.png" width=500>
-
-#### 最重要的部分来了,手机扫描下面二维码,即可进入简历投递系统
-
-<img src="https://img.alicdn.com/tfs/TB1POOuL7PoK1RjSZKbXXX1IXXa-169-166.jpg" width=200>
-
diff --git a/android/.gitignore b/android/.gitignore
deleted file mode 100644
index 65b7315a..00000000
--- a/android/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-*.iml
-*.class
-.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-.DS_Store
-/build
-/captures
-GeneratedPluginRegistrant.java
diff --git a/android/.project b/android/.project
deleted file mode 100644
index 3964dd3f..00000000
--- a/android/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>android</name>
-	<comment>Project android created by Buildship.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
-	</natures>
-</projectDescription>
diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs
deleted file mode 100644
index e8895216..00000000
--- a/android/.settings/org.eclipse.buildship.core.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-connection.project.dir=
-eclipse.preferences.version=1
diff --git a/android/app/.classpath b/android/app/.classpath
deleted file mode 100644
index eb19361b..00000000
--- a/android/app/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
-	<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
-	<classpathentry kind="output" path="bin/default"/>
-</classpath>
diff --git a/android/app/.project b/android/app/.project
deleted file mode 100644
index ac485d7c..00000000
--- a/android/app/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>app</name>
-	<comment>Project app created by Buildship.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
-	</natures>
-</projectDescription>
diff --git a/android/app/.settings/org.eclipse.buildship.core.prefs b/android/app/.settings/org.eclipse.buildship.core.prefs
deleted file mode 100644
index b1886adb..00000000
--- a/android/app/.settings/org.eclipse.buildship.core.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-connection.project.dir=..
-eclipse.preferences.version=1
diff --git a/android/app/bin/build.gradle b/android/app/bin/build.gradle
deleted file mode 100644
index 4b2420a5..00000000
--- a/android/app/bin/build.gradle
+++ /dev/null
@@ -1,61 +0,0 @@
-def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
-if (localPropertiesFile.exists()) {
-    localPropertiesFile.withReader('UTF-8') { reader ->
-        localProperties.load(reader)
-    }
-}
-
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
-    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
-if (flutterVersionCode == null) {
-    flutterVersionCode = '1'
-}
-
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
-if (flutterVersionName == null) {
-    flutterVersionName = '1.0'
-}
-
-apply plugin: 'com.android.application'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
-android {
-    compileSdkVersion 27
-
-    lintOptions {
-        disable 'InvalidPackage'
-    }
-
-    defaultConfig {
-        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
-        applicationId "com.example.flutterrookiebook"
-        minSdkVersion 16
-        targetSdkVersion 27
-        versionCode flutterVersionCode.toInteger()
-        versionName flutterVersionName
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-    }
-
-    buildTypes {
-        release {
-            // TODO: Add your own signing config for the release build.
-            // Signing with the debug keys for now, so `flutter run --release` works.
-            signingConfig signingConfigs.debug
-        }
-    }
-}
-
-flutter {
-    source '../..'
-}
-
-dependencies {
-    testImplementation 'junit:junit:4.12'
-    androidTestImplementation 'com.android.support.test:runner:1.0.2'
-    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
-}
diff --git a/android/app/bin/src/main/AndroidManifest.xml b/android/app/bin/src/main/AndroidManifest.xml
deleted file mode 100644
index 2347843c..00000000
--- a/android/app/bin/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.example.fluttergo">
-
-    <!-- The INTERNET permission is required for development. Specifically,
-         flutter needs it to communicate with the running application
-         to allow setting breakpoints, to provide hot reload, etc.
-    -->
-    <uses-permission android:name="android.permission.INTERNET"/>
-
-    <!-- io.flutter.app.FlutterApplication is an android.app.Application that
-         calls FlutterMain.startInitialization(this); in its onCreate method.
-         In most cases you can leave this as-is, but you if you want to provide
-         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_go"
-        android:icon="@mipmap/ic_launcher">
-        <activity
-            android:name=".MainActivity"
-            android:launchMode="singleTop"
-            android:theme="@style/LaunchTheme"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
-            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"/>
-            </intent-filter>
-        </activity>
-    </application>
-</manifest>
diff --git a/android/app/bin/src/main/res/drawable/launch_background.xml b/android/app/bin/src/main/res/drawable/launch_background.xml
deleted file mode 100644
index 304732f8..00000000
--- a/android/app/bin/src/main/res/drawable/launch_background.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Modify this file to customize your launch splash screen -->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@android:color/white" />
-
-    <!-- You can insert your own image assets here -->
-    <!-- <item>
-        <bitmap
-            android:gravity="center"
-            android:src="@mipmap/launch_image" />
-    </item> -->
-</layer-list>
diff --git a/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index db77bb4b..00000000
Binary files a/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 17987b79..00000000
Binary files a/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 09d43914..00000000
Binary files a/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index d5f1c8d3..00000000
Binary files a/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 4d6372ee..00000000
Binary files a/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/bin/src/main/res/values/styles.xml b/android/app/bin/src/main/res/values/styles.xml
deleted file mode 100644
index 00fa4417..00000000
--- a/android/app/bin/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
-        <!-- Show a splash screen on the activity. Automatically removed when
-             Flutter draws its first frame -->
-        <item name="android:windowBackground">@drawable/launch_background</item>
-    </style>
-</resources>
diff --git a/android/app/build.gradle b/android/app/build.gradle
index d3038cdf..603b4502 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -22,11 +22,16 @@ if (flutterVersionName == null) {
 }
 
 apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
     compileSdkVersion 27
 
+    sourceSets {
+        main.java.srcDirs += 'src/main/kotlin'
+    }
+
     lintOptions {
         disable 'InvalidPackage'
     }
@@ -55,7 +60,22 @@ flutter {
 }
 
 dependencies {
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+    //firebase
+    implementation 'com.google.firebase:firebase-core:16.0.8'
+    //Crashlytics SDK
+    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
+    // 性能监控
+    ///implementation 'com.google.firebase:firebase-perf:16.2.3'
+    // 登陆
+    ////implementation 'com.google.firebase:firebase-auth:16.0.3'
 }
+//firebase
+apply plugin: 'com.google.gms.google-services'
+//Crashlytics SDK
+apply plugin: 'io.fabric'
+// 性能监控
+///apply plugin: 'com.google.firebase.firebase-perf'
\ No newline at end of file
diff --git a/android/app/google-services.json b/android/app/google-services.json
new file mode 100644
index 00000000..5da02053
--- /dev/null
+++ b/android/app/google-services.json
@@ -0,0 +1,47 @@
+{
+  "project_info": {
+    "project_number": "1002138254102",
+    //"firebase_url": "https://ali-flutter-go.firebaseio.com",
+    "project_id": "ali-flutter-go",
+    "storage_bucket": "ali-flutter-go.appspot.com"
+  },
+  "client": [
+    {
+      "client_info": {
+        "mobilesdk_app_id": "1:1002138254102:android:00e8533fa0274183",
+        "android_client_info": {
+          "package_name": "com.ali.fluttergo"
+        }
+      },
+      "oauth_client": [
+        {
+          "client_id": "1002138254102-2r4hs0mm1avp4p1qielecihnbugan693.apps.googleusercontent.com",
+          "client_type": 3
+        }
+      ],
+      "api_key": [
+        {
+          "current_key": "AIzaSyDFdL3GSwVDfejIq44pyOpiEBZ32dTGMVA"
+        }
+      ],
+      "services": {
+        "appinvite_service": {
+          "other_platform_oauth_client": [
+            {
+              "client_id": "1002138254102-2r4hs0mm1avp4p1qielecihnbugan693.apps.googleusercontent.com",
+              "client_type": 3
+            },
+            {
+              "client_id": "1002138254102-qo9jp8c3lc69p9lclu0rtp5dmt1kulv7.apps.googleusercontent.com",
+              "client_type": 2,
+              "ios_info": {
+                "bundle_id": "com.ali.fluttergo"
+              }
+            }
+          ]
+        }
+      }
+    }
+  ],
+  "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 00000000..6c60789b
--- /dev/null
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.ali.fluttergo">
+    <!-- Flutter needs it to communicate with the running application
+         to allow setting breakpoints, to provide hot reload, etc.
+    -->
+    <uses-permission android:name="android.permission.INTERNET"/>
+</manifest>
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 94a4ff63..97b1e4ee 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,28 +1,25 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.ali.fluttergo">
 
-    <!-- The INTERNET permission is required for development. Specifically,
-         flutter needs it to communicate with the running application
-         to allow setting breakpoints, to provide hot reload, etc.
-    -->
-    <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-permission android:name="android.permission.MODE_WORLD_READABLE"/>
-    <uses-permission android:name="android.permission.MODE_WORLD_WRITEABLE"/>
-
     <!-- io.flutter.app.FlutterApplication is an android.app.Application that
          calls FlutterMain.startInitialization(this); in its onCreate method.
          In most cases you can leave this as-is, but you if you want to provide
          additional functionality it is fine to subclass or reimplement
          FlutterApplication and put your custom class here. -->
+
+    <uses-permission android:name="android.permission.INTERNET"/>
+    <uses-permission android:name="android.permission.MODE_WORLD_READABLE"/>
+    <uses-permission android:name="android.permission.MODE_WORLD_WRITEABLE"/>
+
     <application
         android:name="io.flutter.app.FlutterApplication"
-        android:label="flutter go"
-        android:icon="@drawable/flutter_go_logo">
+        android:label="fluttergo"
+        android:icon="@mipmap/ic_launcher_logo">
         <activity
             android:name=".MainActivity"
             android:launchMode="singleTop"
             android:theme="@style/LaunchTheme"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
+            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
diff --git a/android/app/src/main/java/com/ali/fluttergo/MainActivity.java b/android/app/src/main/java/com/ali/fluttergo/MainActivity.java
deleted file mode 100644
index 917d9ea4..00000000
--- a/android/app/src/main/java/com/ali/fluttergo/MainActivity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ali.fluttergo;
-
-
-import android.os.Bundle;
-import io.flutter.app.FlutterActivity;
-import io.flutter.plugins.GeneratedPluginRegistrant;
-
-public class MainActivity extends FlutterActivity {
-  @Override
-  protected void onCreate(Bundle savedInstanceState) {
-    super.onCreate(savedInstanceState);
-
-//      setContentView(R.layout.activity_main);
-    GeneratedPluginRegistrant.registerWith(this);
-  }
-}
diff --git a/android/app/src/main/kotlin/fluttergo/ali/com/fluttergo/MainActivity.kt b/android/app/src/main/kotlin/fluttergo/ali/com/fluttergo/MainActivity.kt
new file mode 100644
index 00000000..c34fe923
--- /dev/null
+++ b/android/app/src/main/kotlin/fluttergo/ali/com/fluttergo/MainActivity.kt
@@ -0,0 +1,13 @@
+package com.ali.fluttergo
+
+import android.os.Bundle
+
+import io.flutter.app.FlutterActivity
+import io.flutter.plugins.GeneratedPluginRegistrant
+
+class MainActivity: FlutterActivity() {
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    GeneratedPluginRegistrant.registerWith(this)
+  }
+}
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_logo.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_logo.png
new file mode 100644
index 00000000..bb7bd02c
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_logo.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_logo.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_logo.png
new file mode 100644
index 00000000..bb7bd02c
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_logo.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_logo.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_logo.png
new file mode 100644
index 00000000..bb7bd02c
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_logo.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_logo.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_logo.png
new file mode 100644
index 00000000..bb7bd02c
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_logo.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_logo.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_logo.png
new file mode 100644
index 00000000..bb7bd02c
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_logo.png differ
diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml
new file mode 100644
index 00000000..6c60789b
--- /dev/null
+++ b/android/app/src/profile/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.ali.fluttergo">
+    <!-- Flutter needs it to communicate with the running application
+         to allow setting breakpoints, to provide hot reload, etc.
+    -->
+    <uses-permission android:name="android.permission.INTERNET"/>
+</manifest>
diff --git a/android/build.gradle b/android/build.gradle
index e81b1a1d..906cf5c2 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,11 +1,23 @@
 buildscript {
+    ext.kotlin_version = '1.2.71'
     repositories {
         google()
         jcenter()
+        //Crashlytics SDK
+        maven {
+            url 'https://maven.fabric.io/public'
+        }
     }
 
     dependencies {
         classpath 'com.android.tools.build:gradle:3.2.0'
+        //firebase
+        classpath 'com.google.gms:google-services:4.2.0'
+        //Crashlytics SDK
+        classpath 'io.fabric.tools:gradle:1.26.1'
+        // 性能监控
+        ///classpath 'com.google.firebase:firebase-plugins:1.1.5'
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }
 
@@ -13,6 +25,10 @@ allprojects {
     repositories {
         google()
         jcenter()
+        //Crashlytics SDK
+        maven {
+            url 'https://maven.google.com/'
+        }
     }
 }
 
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 03824124..c2bcac0e 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 8c3f0e89..f458f3aa 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -29,6 +29,7 @@
 		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
 		3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
 		3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		94722E5C22511D3600F63900 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 94722E5B22511D3600F63900 /* GoogleService-Info.plist */; };
 		9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
 		9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
@@ -78,6 +79,7 @@
 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
 		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		94722E5B22511D3600F63900 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../../../Downloads/GoogleService-Info.plist"; sourceTree = "<group>"; };
 		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
 		9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
 		9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
@@ -87,6 +89,8 @@
 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		A9941E6EA19A9CEF6B117A70 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
+		CBA6E34746642008D95A119D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
 		DDA792F029EDD7A11295D192 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
@@ -129,6 +133,8 @@
 		0C172CA58CDB230D5DA80034 /* Pods */ = {
 			isa = PBXGroup;
 			children = (
+				CBA6E34746642008D95A119D /* Pods-Runner.debug.xcconfig */,
+				A9941E6EA19A9CEF6B117A70 /* Pods-Runner.release.xcconfig */,
 			);
 			name = Pods;
 			sourceTree = "<group>";
@@ -178,6 +184,7 @@
 		97C146F01CF9000F007C117D /* Runner */ = {
 			isa = PBXGroup;
 			children = (
+				94722E5B22511D3600F63900 /* GoogleService-Info.plist */,
 				7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
 				7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
 				97C146FA1CF9000F007C117D /* Main.storyboard */,
@@ -282,6 +289,7 @@
 				0828E49B220692B500A59437 /* iPad Landscape@2x.png in Resources */,
 				0828E495220692B500A59437 /* iPhone Portrait-Retina 4.png in Resources */,
 				0828E498220692B500A59437 /* iPhone XS Max Portrait.png in Resources */,
+				94722E5C22511D3600F63900 /* GoogleService-Info.plist in Resources */,
 				0828E496220692B500A59437 /* iPad Portrait.png in Resources */,
 				0828E49C220692B500A59437 /* iPhone Landscape-Retina HD 5.5.png in Resources */,
 			);
@@ -309,15 +317,11 @@
 			buildActionMask = 2147483647;
 			files = (
 			);
-			inputFileListPaths = (
-			);
 			inputPaths = (
 				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
 				"${PODS_ROOT}/Manifest.lock",
 			);
 			name = "[CP] Check Pods Manifest.lock";
-			outputFileListPaths = (
-			);
 			outputPaths = (
 				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
 			);
@@ -345,21 +349,17 @@
 			buildActionMask = 2147483647;
 			files = (
 			);
-			inputFileListPaths = (
-			);
 			inputPaths = (
-				"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
+				"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
 				"${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
 			);
 			name = "[CP] Embed Pods Frameworks";
-			outputFileListPaths = (
-			);
 			outputPaths = (
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
 /* End PBXShellScriptBuildPhase section */
@@ -522,7 +522,7 @@
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = com.ali.flutterRookieBook;
+				PRODUCT_BUNDLE_IDENTIFIER = com.ali.fluttergo;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
@@ -547,7 +547,7 @@
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = com.ali.flutterRookieBook;
+				PRODUCT_BUNDLE_IDENTIFIER = com.ali.fluttergo;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m
index 7feb3d13..7474c39b 100644
--- a/ios/Runner/AppDelegate.m
+++ b/ios/Runner/AppDelegate.m
@@ -1,10 +1,15 @@
 #include "AppDelegate.h"
 #include "GeneratedPluginRegistrant.h"
 
+@import Firebase;//增加 firebase 支持
+
 @implementation AppDelegate
 
 - (BOOL)application:(UIApplication *)application
     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+
+    [FIRApp configure];//增加 firebase 支持
+
   [GeneratedPluginRegistrant registerWithRegistry:self];
   // Override point for customization after application launch.
     [NSThread sleepForTimeInterval:2];
diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift
new file mode 100644
index 00000000..71cc41e3
--- /dev/null
+++ b/ios/Runner/AppDelegate.swift
@@ -0,0 +1,13 @@
+import UIKit
+import Flutter
+
+@UIApplicationMain
+@objc class AppDelegate: FlutterAppDelegate {
+  override func application(
+    _ application: UIApplication,
+    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
+  ) -> Bool {
+    GeneratedPluginRegistrant.register(with: self)
+    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
+  }
+}
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
new file mode 100644
index 00000000..9da19eac
Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
new file mode 100644
index 00000000..9da19eac
Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
new file mode 100644
index 00000000..9da19eac
Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ
diff --git a/ios/Runner/GoogleService-Info.plist b/ios/Runner/GoogleService-Info.plist
new file mode 100644
index 00000000..26e23345
--- /dev/null
+++ b/ios/Runner/GoogleService-Info.plist
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CLIENT_ID</key>
+	<string>1002138254102-qo9jp8c3lc69p9lclu0rtp5dmt1kulv7.apps.googleusercontent.com</string>
+	<key>REVERSED_CLIENT_ID</key>
+	<string>com.googleusercontent.apps.1002138254102-qo9jp8c3lc69p9lclu0rtp5dmt1kulv7</string>
+	<key>API_KEY</key>
+	<string>AIzaSyD01jR14RevQibnzkg4tBUbFzc7UjKESFQ</string>
+	<key>GCM_SENDER_ID</key>
+	<string>1002138254102</string>
+	<key>PLIST_VERSION</key>
+	<string>1</string>
+	<key>BUNDLE_ID</key>
+	<string>com.ali.fluttergo</string>
+	<key>PROJECT_ID</key>
+	<string>ali-flutter-go</string>
+	<key>STORAGE_BUCKET</key>
+	<string>ali-flutter-go.appspot.com</string>
+	<key>IS_ADS_ENABLED</key>
+	<false></false>
+	<key>IS_ANALYTICS_ENABLED</key>
+	<false></false>
+	<key>IS_APPINVITE_ENABLED</key>
+	<true></true>
+	<key>IS_GCM_ENABLED</key>
+	<true></true>
+	<key>IS_SIGNIN_ENABLED</key>
+	<true></true>
+	<key>GOOGLE_APP_ID</key>
+	<string>1:1002138254102:ios:00e8533fa0274183</string>
+	<key>DATABASE_URL</key>
+	<string>https://ali-flutter-go.firebaseio.com</string>
+</dict>
+</plist>
\ No newline at end of file
diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h
new file mode 100644
index 00000000..7335fdf9
--- /dev/null
+++ b/ios/Runner/Runner-Bridging-Header.h
@@ -0,0 +1 @@
+#import "GeneratedPluginRegistrant.h"
\ No newline at end of file
diff --git a/lib/main.dart b/lib/main.dart
index 8d268d7b..f83e2133 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -8,6 +8,7 @@ import 'package:flutter_go/utils/provider.dart';
 import 'package:flutter_go/utils/shared_preferences.dart';
 import 'package:flutter_go/views/first_page/home.dart';
 import 'package:flutter_go/model/search_history.dart';
+import 'package:flutter_go/utils/analytics.dart' as Analytics;
 //import 'views/welcome_page/index.dart';
 
 const int ThemeColor = 0xFFC91B3A;
@@ -53,6 +54,7 @@ class MyApp extends StatelessWidget {
         body: showWelcomePage()
       ),
       onGenerateRoute: Application.router.generator,
+      navigatorObservers: <NavigatorObserver>[Analytics.observer],
     );
   }
 }
diff --git a/lib/routers/routers.dart b/lib/routers/routers.dart
index 4e589b61..7715b2bf 100644
--- a/lib/routers/routers.dart
+++ b/lib/routers/routers.dart
@@ -1,6 +1,7 @@
 
 import 'package:fluro/fluro.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter_go/utils/analytics.dart' show analytics;
 
 import '../widgets/index.dart';
 import './router_handler.dart';
@@ -26,6 +27,9 @@ class Routes {
       widgetDemosList.forEach((demo) {
         Handler handler = new Handler(
             handlerFunc: (BuildContext context, Map<String, List<String>> params) {
+              print('组件路由params=$params widgetsItem=${demo.routerName}');
+              analytics.logEvent(
+                  name: 'component', parameters: {'name': demo.routerName });
               return demo.buildRouter(context);
       });
       router.define('${demo.routerName}', handler: handler);
diff --git a/lib/utils/analytics.dart b/lib/utils/analytics.dart
new file mode 100644
index 00000000..2a7fcf6f
--- /dev/null
+++ b/lib/utils/analytics.dart
@@ -0,0 +1,7 @@
+import 'package:firebase_analytics/firebase_analytics.dart';
+import 'package:firebase_analytics/observer.dart';
+
+//统计
+FirebaseAnalytics analytics = FirebaseAnalytics();
+FirebaseAnalyticsObserver observer =
+    FirebaseAnalyticsObserver(analytics: analytics);
diff --git a/pubspec.lock b/pubspec.lock
new file mode 100644
index 00000000..0ce24601
--- /dev/null
+++ b/pubspec.lock
@@ -0,0 +1,273 @@
+# Generated by pub
+# See https://www.dartlang.org/tools/pub/glossary#lockfile
+packages:
+  args:
+    dependency: transitive
+    description:
+      name: args
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.5.1"
+  async:
+    dependency: transitive
+    description:
+      name: async
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  boolean_selector:
+    dependency: transitive
+    description:
+      name: boolean_selector
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.4"
+  charcode:
+    dependency: transitive
+    description:
+      name: charcode
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.2"
+  city_pickers:
+    dependency: "direct main"
+    description:
+      name: city_pickers
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.16"
+  collection:
+    dependency: transitive
+    description:
+      name: collection
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.14.11"
+  cookie_jar:
+    dependency: transitive
+    description:
+      name: cookie_jar
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.8"
+  cupertino_icons:
+    dependency: "direct main"
+    description:
+      name: cupertino_icons
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.2"
+  dio:
+    dependency: "direct main"
+    description:
+      name: dio
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.17"
+  event_bus:
+    dependency: "direct main"
+    description:
+      name: event_bus
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  firebase_analytics:
+    dependency: "direct main"
+    description:
+      name: firebase_analytics
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.1+2"
+  firebase_core:
+    dependency: "direct main"
+    description:
+      name: firebase_core
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.3.4"
+  fluro:
+    dependency: "direct main"
+    description:
+      name: fluro
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.4.0"
+  flutter:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_markdown:
+    dependency: "direct main"
+    description:
+      name: flutter_markdown
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.2.0"
+  flutter_test:
+    dependency: "direct dev"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
+  flutter_webview_plugin:
+    dependency: "direct main"
+    description:
+      name: flutter_webview_plugin
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.3.3"
+  image_picker:
+    dependency: "direct main"
+    description:
+      name: image_picker
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.12+1"
+  intl:
+    dependency: "direct main"
+    description:
+      name: intl
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.15.7"
+  lpinyin:
+    dependency: transitive
+    description:
+      name: lpinyin
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.7"
+  markdown:
+    dependency: transitive
+    description:
+      name: markdown
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
+  matcher:
+    dependency: transitive
+    description:
+      name: matcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.12.5"
+  meta:
+    dependency: transitive
+    description:
+      name: meta
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.6"
+  path:
+    dependency: transitive
+    description:
+      name: path
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.6.2"
+  pedantic:
+    dependency: transitive
+    description:
+      name: pedantic
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.5.0"
+  quiver:
+    dependency: transitive
+    description:
+      name: quiver
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.2"
+  shared_preferences:
+    dependency: "direct main"
+    description:
+      name: shared_preferences
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.3"
+  sky_engine:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.99"
+  source_span:
+    dependency: transitive
+    description:
+      name: source_span
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.5.5"
+  sqflite:
+    dependency: "direct main"
+    description:
+      name: sqflite
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.12.2+1"
+  stack_trace:
+    dependency: transitive
+    description:
+      name: stack_trace
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.9.3"
+  stream_channel:
+    dependency: transitive
+    description:
+      name: stream_channel
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.0"
+  string_scanner:
+    dependency: transitive
+    description:
+      name: string_scanner
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.4"
+  synchronized:
+    dependency: transitive
+    description:
+      name: synchronized
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.0"
+  term_glyph:
+    dependency: transitive
+    description:
+      name: term_glyph
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.0"
+  test_api:
+    dependency: transitive
+    description:
+      name: test_api
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.2.4"
+  typed_data:
+    dependency: transitive
+    description:
+      name: typed_data
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.6"
+  url_launcher:
+    dependency: "direct main"
+    description:
+      name: url_launcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "4.2.0+3"
+  vector_math:
+    dependency: transitive
+    description:
+      name: vector_math
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.8"
+sdks:
+  dart: ">=2.2.0 <3.0.0"
+  flutter: ">=0.5.6 <2.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 3a43950c..b97443ed 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -7,7 +7,7 @@ description: flutter_go
 # Both the version and the builder number may be overridden in flutter
 # build by specifying --build-name and --build-number, respectively.
 # Read more about versioning at semver.org.
-version: 0.0.5
+#version: 0.0.5firebase_auth
 
 environment:
   sdk: ">=2.0.0-dev.68.0 <3.0.0"
@@ -32,6 +32,9 @@ dependencies:
   # 日期格式化
   intl: 0.15.7
   city_pickers: ^0.1.0
+  firebase_analytics: ^2.0.2+1
+  #firebase_auth: ^0.8.3 #auth
+  firebase_core: ^0.3.0  # add dependency for Firebase Core
 
 dev_dependencies:
   flutter_test:
@@ -48,151 +51,151 @@ flutter:
   # the material Icons class.
   uses-material-design: true
   assets:
-    - lib/widgets/elements/Form/Input/TextField/text_field_demo.dart
-    - lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart
-    - lib/widgets/components/Bar/AppBar/demo.dart
-    - lib/widgets/components/Bar/BottomAppBar/demo.dart
-    - lib/widgets/components/Bar/ButtonBar/demo.dart
-    - lib/widgets/components/Bar/FlexibleSpaceBar/demo.dart
-    - lib/widgets/components/Bar/SliverAppBar/demo.dart
-    - lib/widgets/components/Bar/SnackBar/demo.dart
-    - lib/widgets/components/Bar/SnackBarAction/demo.dart
-    - lib/widgets/components/Bar/TabBar/demo.dart
-    - lib/widgets/components/Card/Card/demo.dart
-    - lib/widgets/components/Chip/Chip/demo.dart
-    - lib/widgets/components/Chip/ChipTheme/demo.dart
-    - lib/widgets/components/Chip/ChipThemeData/demo.dart
-    - lib/widgets/components/Chip/ChoiceChip/demo.dart
-    - lib/widgets/components/Chip/FilterChip/demo.dart
-    - lib/widgets/components/Chip/InputChip/demo.dart
-    - lib/widgets/components/Chip/RawChip/demo.dart
-    - lib/widgets/components/Dialog/AboutDialog/demo.dart
-    - lib/widgets/components/Dialog/AlertDialog/demo.dart
-    - lib/widgets/components/Dialog/Dialog/demo.dart
-    - lib/widgets/components/Dialog/SimpleDialog/demo.dart
-    - lib/widgets/components/Grid/GridTile/demo.dart
-    - lib/widgets/components/Grid/GridTileBar/demo.dart
-    - lib/widgets/components/Grid/GridView/demo.dart
-    - lib/widgets/components/Grid/GridPaper/demo.dart
-    - lib/widgets/components/Grid/SliverGrid/demo.dart
-    - lib/widgets/components/List/AnimatedList/demo.dart
-    - lib/widgets/components/List/ListBody/demo.dart
-    - lib/widgets/components/List/ListView/demo.dart
-    - lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart
-    - lib/widgets/components/Menu/DropdownMenuItem/demo.dart
-    - lib/widgets/components/Menu/PopupMenuButton/demo.dart
-    - lib/widgets/components/Menu/PopupMenuDivider/demo.dart
-    - lib/widgets/components/Navigation/BottomNavigationBar/demo.dart
-    - lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart
-    - lib/widgets/components/Panel/ExpansionPanel/demo.dart
-    - lib/widgets/components/Panel/ExpansionPanelList/demo.dart
-    - lib/widgets/components/Pick/DayPicker/demo.dart
-    - lib/widgets/components/Pick/MonthPicker/demo.dart
-    - lib/widgets/components/Pick/ShowdatePicker/demo.dart
-    - lib/widgets/components/Pick/YearPicker/demo.dart
-    - lib/widgets/components/Progress/CircularProgressIndicator/demo.dart
-    - lib/widgets/components/Progress/LinearProgressIndicator/demo.dart
-    - lib/widgets/components/Progress/RefreshProgressIndicator/demo.dart
-    - lib/widgets/components/Scaffold/Scaffold/demo.dart
-    - lib/widgets/components/Scaffold/ScaffoldState/demo.dart
-    - lib/widgets/components/Scroll/BoxScrollView/demo.dart
-    - lib/widgets/components/Scroll/CustomScrollView/demo.dart
-    - lib/widgets/components/Scroll/NestedScrollView/demo.dart
-    - lib/widgets/components/Scroll/Scrollable/demo.dart
-    - lib/widgets/components/Scroll/ScrollbarPainter/demo.dart
-    - lib/widgets/components/Scroll/ScrollMetrics/demo.dart
-    - lib/widgets/components/Scroll/ScrollPhysics/demo.dart
-    - lib/widgets/components/Scroll/ScrollView/demo.dart
-    - lib/widgets/components/Tab/Tab/demo.dart
-    - lib/widgets/elements/Form/Button/DropdownButton/demo.dart
-    - lib/widgets/elements/Form/Button/FlatButton/demo.dart
-    - lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart
-    - lib/widgets/elements/Form/Button/IconButton/demo.dart
-    - lib/widgets/elements/Form/Button/OutlineButton/demo.dart
-    - lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart
-    - lib/widgets/elements/Form/Button/RaisedButton/demo.dart
-    - lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart
-    - lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart
-    - lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart
-    - lib/widgets/elements/Form/Radio/Radio/demo.dart
-    - lib/widgets/elements/Form/Radio/RadioListTile/demo.dart
-    - lib/widgets/elements/Form/Slider/Slider/demo.dart
-    - lib/widgets/elements/Form/Slider/SliderTheme/demo.dart
-    - lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart
-    - lib/widgets/elements/Form/Switch/AnimatedSwitcher/demo.dart
-    - lib/widgets/elements/Form/Switch/Switch/demo.dart
-    - lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart
-    - lib/widgets/elements/Frame/Align/Align/demo.dart
-    - lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart
-    - lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart
-    - lib/widgets/elements/Frame/Box/FittedBox/demo.dart
-    - lib/widgets/elements/Frame/Box/LimitedBox/demo.dart
-    - lib/widgets/elements/Frame/Box/OverflowBox/demo.dart
-    - lib/widgets/elements/Frame/Box/RotatedBox/demo.dart
-    - lib/widgets/elements/Frame/Box/SizeBox/demo.dart
-    - lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart
-    - lib/widgets/elements/Form/Text/Text/demo.dart
-    - lib/widgets/elements/Form/Text/RichText/index.dart
-    - lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart
-    - lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart
-    - lib/widgets/elements/Frame/Layout/Center/demo.dart
-    - lib/widgets/elements/Frame/Layout/Column/demo.dart
-    - lib/widgets/elements/Frame/Layout/Container/demo.dart
-    - lib/widgets/elements/Frame/Layout/Row/demo.dart
-    - lib/widgets/elements/Frame/Spacing/AnimatedPadding/animatedPadding_demo.dart
-    - lib/widgets/elements/Frame/Spacing/Padding/padding_demo.dart
-    - lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart
-    - lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart
-    - lib/widgets/elements/Frame/Stack/Stack/demo.dart
-    - lib/widgets/elements/Frame/Table/Table/table_demo.dart
-    - lib/widgets/elements/Media/Icon/Icon/demo.dart
-    - lib/widgets/elements/Media/Icon/IconData/demo.dart
-    - lib/widgets/elements/Media/Icon/IconTheme/demo.dart
-    - lib/widgets/elements/Media/Icon/IconThemeData/demo.dart
-    - lib/widgets/elements/Media/Icon/ImageIcon/demo.dart
-    - lib/widgets/elements/Media/Image/AssetImage/assetImage_demo.dart
-    - lib/widgets/elements/Media/Image/DecorationImage/decorationImage_demo.dart
-    - lib/widgets/elements/Media/Image/DecorationImagePainter/decoration_image_painter_demo.dart
-    - lib/widgets/elements/Media/Image/ExactAssetImage/exact_asset_image_demo.dart
-    - lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart
-    - lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart
-    - lib/widgets/elements/Media/Image/Image/demo.dart
-    - lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart
-    - lib/widgets/elements/Media/Image/NetworkImage/network_image_demo.dart
-    - lib/widgets/elements/Media/Image/paintImage/paint_image_demo.dart
-    - lib/widgets/elements/Media/Image/precacheImage/precache_image_demo.dart
-    - lib/widgets/elements/Media/Image/RawImage/raw_image_demo.dart
-    - lib/widgets/elements/Media/Canvas/Canvas/demo.dart
-    - lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart
-    - lib/widgets/elements/Media/Canvas/PainterPath/demo.dart
-    - lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart
-    - lib/widgets/themes/Material/MaterialApp/demo.dart
-    - lib/widgets/themes/Material/MaterialButton/demo.dart
-    - lib/widgets/themes/Material/MaterialColor/demo.dart
-    - lib/widgets/themes/Material/MaterialPageRoute/demo.dart
-    - lib/widgets/themes/Material/MergeableMaterialItem/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoApp/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoButton/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoColors/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoNavigationBar/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoPageRoute/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoPageScaffold/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoPicker/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoPopupSurface/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoScrollbar/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart
-    - lib/widgets/elements/Form/Switch/Switch/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoSwitch/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoTabBar/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoTabScaffold/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoTabView/demo.dart
-    - lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart
-    - assets/app.db
-    - assets/images/
-    - assets/fonts/
+  - lib/widgets/elements/Form/Input/TextField/text_field_demo.dart
+  - lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart
+  - lib/widgets/components/Bar/AppBar/demo.dart
+  - lib/widgets/components/Bar/BottomAppBar/demo.dart
+  - lib/widgets/components/Bar/ButtonBar/demo.dart
+  - lib/widgets/components/Bar/FlexibleSpaceBar/demo.dart
+  - lib/widgets/components/Bar/SliverAppBar/demo.dart
+  - lib/widgets/components/Bar/SnackBar/demo.dart
+  - lib/widgets/components/Bar/SnackBarAction/demo.dart
+  - lib/widgets/components/Bar/TabBar/demo.dart
+  - lib/widgets/components/Card/Card/demo.dart
+  - lib/widgets/components/Chip/Chip/demo.dart
+  - lib/widgets/components/Chip/ChipTheme/demo.dart
+  - lib/widgets/components/Chip/ChipThemeData/demo.dart
+  - lib/widgets/components/Chip/ChoiceChip/demo.dart
+  - lib/widgets/components/Chip/FilterChip/demo.dart
+  - lib/widgets/components/Chip/InputChip/demo.dart
+  - lib/widgets/components/Chip/RawChip/demo.dart
+  - lib/widgets/components/Dialog/AboutDialog/demo.dart
+  - lib/widgets/components/Dialog/AlertDialog/demo.dart
+  - lib/widgets/components/Dialog/Dialog/demo.dart
+  - lib/widgets/components/Dialog/SimpleDialog/demo.dart
+  - lib/widgets/components/Grid/GridTile/demo.dart
+  - lib/widgets/components/Grid/GridTileBar/demo.dart
+  - lib/widgets/components/Grid/GridView/demo.dart
+  - lib/widgets/components/Grid/GridPaper/demo.dart
+  - lib/widgets/components/Grid/SliverGrid/demo.dart
+  - lib/widgets/components/List/AnimatedList/demo.dart
+  - lib/widgets/components/List/ListBody/demo.dart
+  - lib/widgets/components/List/ListView/demo.dart
+  - lib/widgets/components/Menu/CheckedPopupMenuItem/demo.dart
+  - lib/widgets/components/Menu/DropdownMenuItem/demo.dart
+  - lib/widgets/components/Menu/PopupMenuButton/demo.dart
+  - lib/widgets/components/Menu/PopupMenuDivider/demo.dart
+  - lib/widgets/components/Navigation/BottomNavigationBar/demo.dart
+  - lib/widgets/components/Navigation/BottomNavigationBarItem/demo.dart
+  - lib/widgets/components/Panel/ExpansionPanel/demo.dart
+  - lib/widgets/components/Panel/ExpansionPanelList/demo.dart
+  - lib/widgets/components/Pick/DayPicker/demo.dart
+  - lib/widgets/components/Pick/MonthPicker/demo.dart
+  - lib/widgets/components/Pick/ShowdatePicker/demo.dart
+  - lib/widgets/components/Pick/YearPicker/demo.dart
+  - lib/widgets/components/Progress/CircularProgressIndicator/demo.dart
+  - lib/widgets/components/Progress/LinearProgressIndicator/demo.dart
+  - lib/widgets/components/Progress/RefreshProgressIndicator/demo.dart
+  - lib/widgets/components/Scaffold/Scaffold/demo.dart
+  - lib/widgets/components/Scaffold/ScaffoldState/demo.dart
+  - lib/widgets/components/Scroll/BoxScrollView/demo.dart
+  - lib/widgets/components/Scroll/CustomScrollView/demo.dart
+  - lib/widgets/components/Scroll/NestedScrollView/demo.dart
+  - lib/widgets/components/Scroll/Scrollable/demo.dart
+  - lib/widgets/components/Scroll/ScrollbarPainter/demo.dart
+  - lib/widgets/components/Scroll/ScrollMetrics/demo.dart
+  - lib/widgets/components/Scroll/ScrollPhysics/demo.dart
+  - lib/widgets/components/Scroll/ScrollView/demo.dart
+  - lib/widgets/components/Tab/Tab/demo.dart
+  - lib/widgets/elements/Form/Button/DropdownButton/demo.dart
+  - lib/widgets/elements/Form/Button/FlatButton/demo.dart
+  - lib/widgets/elements/Form/Button/FloatingActionButton/demo.dart
+  - lib/widgets/elements/Form/Button/IconButton/demo.dart
+  - lib/widgets/elements/Form/Button/OutlineButton/demo.dart
+  - lib/widgets/elements/Form/Button/PopupMenuButton/demo.dart
+  - lib/widgets/elements/Form/Button/RaisedButton/demo.dart
+  - lib/widgets/elements/Form/Button/RawMaterialButton/demo.dart
+  - lib/widgets/elements/Form/CheckBox/Checkbox/demo.dart
+  - lib/widgets/elements/Form/CheckBox/CheckboxListTile/demo.dart
+  - lib/widgets/elements/Form/Radio/Radio/demo.dart
+  - lib/widgets/elements/Form/Radio/RadioListTile/demo.dart
+  - lib/widgets/elements/Form/Slider/Slider/demo.dart
+  - lib/widgets/elements/Form/Slider/SliderTheme/demo.dart
+  - lib/widgets/elements/Form/Slider/SliderThemeData/demo.dart
+  - lib/widgets/elements/Form/Switch/AnimatedSwitcher/demo.dart
+  - lib/widgets/elements/Form/Switch/Switch/demo.dart
+  - lib/widgets/elements/Form/Switch/SwitchListTile/demo.dart
+  - lib/widgets/elements/Frame/Align/Align/demo.dart
+  - lib/widgets/elements/Frame/Box/ConstrainedBox/demo.dart
+  - lib/widgets/elements/Frame/Box/DecoratedBox/demo.dart
+  - lib/widgets/elements/Frame/Box/FittedBox/demo.dart
+  - lib/widgets/elements/Frame/Box/LimitedBox/demo.dart
+  - lib/widgets/elements/Frame/Box/OverflowBox/demo.dart
+  - lib/widgets/elements/Frame/Box/RotatedBox/demo.dart
+  - lib/widgets/elements/Frame/Box/SizeBox/demo.dart
+  - lib/widgets/elements/Frame/Box/SizedOverflowBox/demo.dart
+  - lib/widgets/elements/Form/Text/Text/demo.dart
+  - lib/widgets/elements/Form/Text/RichText/index.dart
+  - lib/widgets/elements/Frame/Box/UnconstrainedBox/demo.dart
+  - lib/widgets/elements/Frame/Expanded/Expanded/expanded_demo.dart
+  - lib/widgets/elements/Frame/Layout/Center/demo.dart
+  - lib/widgets/elements/Frame/Layout/Column/demo.dart
+  - lib/widgets/elements/Frame/Layout/Container/demo.dart
+  - lib/widgets/elements/Frame/Layout/Row/demo.dart
+  - lib/widgets/elements/Frame/Spacing/AnimatedPadding/animatedPadding_demo.dart
+  - lib/widgets/elements/Frame/Spacing/Padding/padding_demo.dart
+  - lib/widgets/elements/Frame/Spacing/SliverPadding/sliverpadding_demo.dart
+  - lib/widgets/elements/Frame/Stack/IndexedStack/demo.dart
+  - lib/widgets/elements/Frame/Stack/Stack/demo.dart
+  - lib/widgets/elements/Frame/Table/Table/table_demo.dart
+  - lib/widgets/elements/Media/Icon/Icon/demo.dart
+  - lib/widgets/elements/Media/Icon/IconData/demo.dart
+  - lib/widgets/elements/Media/Icon/IconTheme/demo.dart
+  - lib/widgets/elements/Media/Icon/IconThemeData/demo.dart
+  - lib/widgets/elements/Media/Icon/ImageIcon/demo.dart
+  - lib/widgets/elements/Media/Image/AssetImage/assetImage_demo.dart
+  - lib/widgets/elements/Media/Image/DecorationImage/decorationImage_demo.dart
+  - lib/widgets/elements/Media/Image/DecorationImagePainter/decoration_image_painter_demo.dart
+  - lib/widgets/elements/Media/Image/ExactAssetImage/exact_asset_image_demo.dart
+  - lib/widgets/elements/Media/Image/FadeInImage/fade_in_image_demo.dart
+  - lib/widgets/elements/Media/Image/FileImage/file_image_demo.dart
+  - lib/widgets/elements/Media/Image/Image/demo.dart
+  - lib/widgets/elements/Media/Image/MemoryImage/memory_image_demo.dart
+  - lib/widgets/elements/Media/Image/NetworkImage/network_image_demo.dart
+  - lib/widgets/elements/Media/Image/paintImage/paint_image_demo.dart
+  - lib/widgets/elements/Media/Image/precacheImage/precache_image_demo.dart
+  - lib/widgets/elements/Media/Image/RawImage/raw_image_demo.dart
+  - lib/widgets/elements/Media/Canvas/Canvas/demo.dart
+  - lib/widgets/elements/Media/Canvas/CircleProgressBarPainter/demo.dart
+  - lib/widgets/elements/Media/Canvas/PainterPath/demo.dart
+  - lib/widgets/elements/Media/Canvas/PainterSketch/demo.dart
+  - lib/widgets/themes/Material/MaterialApp/demo.dart
+  - lib/widgets/themes/Material/MaterialButton/demo.dart
+  - lib/widgets/themes/Material/MaterialColor/demo.dart
+  - lib/widgets/themes/Material/MaterialPageRoute/demo.dart
+  - lib/widgets/themes/Material/MergeableMaterialItem/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoApp/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoButton/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoColors/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoNavigationBar/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoPageRoute/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoPageScaffold/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoPicker/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoPopupSurface/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoScrollbar/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoSegmentedControl/demo.dart
+  - lib/widgets/elements/Form/Switch/Switch/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoSlider/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoSliverNavigationBar/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoSwitch/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoTabBar/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoTabScaffold/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoTabView/demo.dart
+  - lib/widgets/themes/Cupertino/CupertinoTimerPicker/demo.dart
+  - assets/app.db
+  - assets/images/
+  - assets/fonts/
 
   fonts:
   - family: FlamanteRoma
diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb
deleted file mode 100644
index 9e26dfee..00000000
--- a/res/values/strings_en.arb
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file