環(huán)境準備階段:
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、成都網(wǎng)站建設、永城網(wǎng)絡推廣、成都微信小程序、永城網(wǎng)絡營銷、永城企業(yè)策劃、永城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供永城建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
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 復制至D:\Program Files\Nox\bin覆蓋
adb.exe,此外重新復制adb.exe命名為nox_adb.exe,替換原有的nox_adb.exe。
cdm 輸入nox_adb version 及adb version發(fā)現(xiàn)版本一致。
啟動野神模擬器,輸入adb devices發(fā)現(xiàn)虛擬設備,執(zhí)行flutter devices發(fā)現(xiàn) 127.0.0.1:62001 設備。
修改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)絡問題。
1、升級依賴的插件版本pubspec.yaml(包括example),pub get 解決依賴沖突
2、pubspec.yaml所在路徑下執(zhí)行 dart pub upgrade --null-safety 檢查是否所在flutter工程依賴庫是否都升級到了空安全版本
example示例需要進入example路徑下檢查
1、List默認構(gòu)造方法刪除,改用[];
main.dart文件main方法第一行增加CustomFlutterBinding();
2、flutter clean,刪除所有 pubspec.lock文件 ,pub get
3、FutureOr報錯引入頭文件、import 'dart:async';
4、屬性用優(yōu)先用late 或者 ?聲明,在確定不為空情況才用!
當一個純Flutter APP開發(fā)完成,我們要打包發(fā)布到App Store和各大安卓市場,這時候我們需要設置APP的版本號。
如果我們在使用原生iOS或者Android開發(fā)的時,我們會在info.plist中設置 version 和 build 或是在build.gradle中設置 versionName 和 versionCode ,他們分別表示APP的版本和構(gòu)建版本。
但是我們在使用Flutter管理APP版本時,打開 pubspec.yaml 只看到一個 version 字段。這時候我們應該怎么設置APP的 version 和 build 呢?
我們在pub上隨便找一個Flutter的組件,例如官方的 camera ,我們可以看到截止目前為止最新的版本為: camera: ^0.5.2+1 ??吹竭@里,我想大家都明白了,Dart采用的是加號式的版本描述方式, + 前面是版本號, + 后面是當前版本的build號。所以我們設置APP的版本號和build次數(shù),在這里設置即可,例如: version: 1.2.0+1 。
當我們新建一個Flutter工程的時候,我們分別使用Xcode和Android Studio打開iOS和Android的工程可以看到,iOS中的 version 和 build 的值分別為 FLUTTER_BUILD_NAME 和 FLUTTER_BUILD_NUMBER :
同樣我們打開Android工程可以看到有如下定義:
事實上,F(xiàn)lutter在編譯的時候會生成 ios/Flutter/Generated.xcconfig 和 android/local.properties 文件。這兩個文件由Flutter編譯自動生成,不可更改。記錄了包含SDK路徑或者文件路徑,版本信息,環(huán)境配置(release/debug)等信息。原生工程獲取版本信息的變量就定義在這兩個文件里面。