Flutter是一個移動應(yīng)用程序的軟件開發(fā)工具包(SDK),具有以下特征:
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比余杭網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式余杭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋余杭地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
跨平臺應(yīng)用的框架,沒有使用WebView或者系統(tǒng)平臺自帶的控件,使用自身的高性能渲染引擎自繪
簡化版的瀏覽器,最大限度在android和ios上統(tǒng)一UI,包括業(yè)務(wù)邏輯和用戶體驗
開發(fā)語言使用dart,結(jié)合C, C++, 和Skia(2D渲染引擎)構(gòu)建
支持hot reload,包含著完整的控件和工具鏈
一切皆控件,控件是每個Flutter應(yīng)用程序的基本構(gòu)建塊,與分離視圖、控制器、布局和其他屬性的框架不同,F(xiàn)lutter具有一致的統(tǒng)一對象模型:控件。一個控件可以定義:結(jié)構(gòu)元素(比如按鈕或菜單)、風(fēng)格元素(比如字體或顏色方案)、布局的方面(比如填充)、一些業(yè)務(wù)邏輯等
組合大于繼承,控件本身通常由許多小型、單用途的控件組成,結(jié)合起來產(chǎn)生強(qiáng)大的效果,類的層次結(jié)構(gòu)是扁平的,以最大化可能的組合數(shù)量
強(qiáng)化版的WebView,框架僅提供一個View層,大部分功能要依賴原生
目前只能夠運行大部分Dart代碼(不能引入dart:mirrors或dart:html庫)
環(huán)境準(zhǔn)備階段:
android-studio 版本:android-studio-ide-191.5977832-windows.exe 3.5.2
flutter版本:stable 版本 (完成系統(tǒng)環(huán)境變量 path配置)
dart版本:2.12.0 (完成系統(tǒng)環(huán)境變量 path配置)
完成相關(guān)軟件安裝。
配置flutter相關(guān)SDK及andriod studio路徑:
flutter config --android-sdk="C:\Users\Administrator\AppData\Local\Android\Sdk"
flutter config --android-studio-dir="D:\Program Files\Android\Android Studio"
執(zhí)行flutter doctor運行成功。
夜神模擬器地址:D:\Program Files\Nox\bin (完成系統(tǒng)環(huán)境變量 path配置)
andriod SDK tools:C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools (完成系統(tǒng)環(huán)境變量 path配置)
nox_adb.exe connect 127.0.0.1:62001
dart SDK:D:\software\dartsdk-windows-x64-release\dart-sdk\bin
將C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools 下面adb.exe 復(fù)制至D:\Program Files\Nox\bin覆蓋
adb.exe,此外重新復(fù)制adb.exe命名為nox_adb.exe,替換原有的nox_adb.exe。
cdm 輸入nox_adb version 及adb version發(fā)現(xiàn)版本一致。
啟動野神模擬器,輸入adb devices發(fā)現(xiàn)虛擬設(shè)備,執(zhí)行flutter devices發(fā)現(xiàn) 127.0.0.1:62001 設(shè)備。
修改C:\learn_flutter\first_flutter\android\gradle\wrapper\gradle-wrapper.properties
distributionUrl=
修改C:\learn_flutter\first_flutter\android\build.gradle
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
// google()
// jcenter()
maven { url ' ' }
maven { url ' ' }
maven { url ' ' }
}
}
allprojects {
repositories {
// google()
// jcenter()
maven { url ' ' }
maven { url ' ' }
maven { url ' ' }
}
}
修改:C:\win-flutter\flutter\packages\flutter_tools\gradle\flutter.gradle
buildscript {
repositories {
// google()
// jcenter()
maven { url ' ' }
maven { url ' ' }
maven { url ' ' }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
}
}
//private static final String DEFAULT_MAVEN_HOST = " ";
private static final String DEFAULT_MAVEN_HOST = " ";
修改:C:\win-flutter\flutter\packages\flutter_tools\gradle\resolve_dependencies.gradle
repositories {
google()
jcenter()
maven {
//url "$storageUrl/download.flutter.io"
url " "
}
}
執(zhí)行 flutter run啟動成功。
環(huán)境搭建坑點在于JDK兼容問題以及網(wǎng)絡(luò)問題。
在項目中找到 AndroidManifest.xml 文件,其中 android:label="demo" 就是應(yīng)用程序名稱,修改引號中的內(nèi)容即可
在項目中找到 mipmap-mdpi mipmap-hdpi mipmap-xhdpi mipmap-xxhdpi mipmap-xxxhdpi 文件夾,替換這些文件夾中的 ic_launcher.png 文件即可
注意:圖標(biāo)有多種尺寸的大小,是為了適配不同分辨率的手機(jī)而設(shè)計的
在項目中找到 Info.plist 文件,其中 CFBundleDisplayName 和 CFBundleName 下面的就是應(yīng)用程序名稱,修改內(nèi)容即可
找到項目中的 AppIcon.appiconset 文件夾,其中 Contents.json 是配置文件,其它的圖片文件就是圖標(biāo),替換這些圖片文件即可
注意:圖標(biāo)有多種尺寸的大小,是為了適配不同分辨率的手機(jī)而設(shè)計的
插件地址:
在項目中找到 pubspec.yaml 文件,添加內(nèi)容如下
插件地址:
在項目中找到 pubspec.yaml 文件,添加內(nèi)容如下
注意:準(zhǔn)備一張 1024x1024 的 png 圖片,取名為 icon.png 并把它放在 assets/icon 目錄中
找到 ~/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.9.2/lib/android.dart 文件修改內(nèi)容如下
注意:如果使用了鏡像地址就找到 ~flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_launcher_icons-0.9.2/lib/android.dart 文件來修改以上內(nèi)容