【精選】flutter | 您所在的位置:網(wǎng)站首頁 › 修改ios文件 › 【精選】flutter |
最終效果
flutter端,打開flutter項(xiàng)目,會看到以下三個自定義的選項(xiàng): 安卓端,打開對應(yīng)的安卓項(xiàng)目(即打開android文件夾), 會看到Build Variants下,app有多個環(huán)境可選, 分別是test環(huán)境的profile、release、debug版; dev環(huán)境的profile、release、debug版 和 prod環(huán)境的profile、release、debug版 iOS端,用xcode打開對應(yīng)的ios項(xiàng)目,即打開ios文件夾下的Runner.xcworkspace,可以看到3個Scheme…, 每個Scheme各個版(debug、profile、release)都可以配置不同的bundle id, app name、等 這里我為項(xiàng)目添加了3個環(huán)境,dev、test和prod,三個環(huán)境所用的接口、項(xiàng)目名稱、包名、icon不一致 用flutter打開項(xiàng)目,點(diǎn)擊如下所示的Edit Configurations,創(chuàng)建3個name分別為dev、test、prod, flavor分別為dev、check、prod; (由于test在安卓不能設(shè)置為flavor的值,所以這里改成check) 在android/app/build.gradle 下添加如下代碼: flavorDimensions "appEnvironment" productFlavors { check { dimension "appEnvironment" } prod { dimension "appEnvironment" } dev { dimension "appEnvironment" } }目前這里還未設(shè)置任何根據(jù)環(huán)境改變的值,這樣就配置好了安卓端的多flavor, 如果要添加包名,項(xiàng)目名等, 就可以在這里設(shè)置了,關(guān)于更多設(shè)置可以網(wǎng)絡(luò)搜索gradle 配置多渠道, 用安卓打開該項(xiàng)目,就可以看到如下: 在安卓端就可以利用他來實(shí)現(xiàn)多環(huán)境配置了,接下來配置ios的,都配置好了,再設(shè)置具體變量 報錯原因: 這是因?yàn)閒lutter build apk會把所有的flavor包都生成, (flutter build apk 不知道版本情況下是默認(rèn)生成release版本的),所以會看到這3個版本, 但是生成之后,他卻不知道用哪個了,所以報錯 解決辦法: flutter build apk --flavor dev/check/prod 指定環(huán)境; 為iOS配置環(huán)境添加scheme, 名稱分別為dev、check、prod 添加完成可以看到如下: 選中PROJECT下的info,找到configurations選擇,點(diǎn)擊+號, 分別Duplicate 3份 Debug、Release、Profile, 復(fù)制之后給每個版的3分更改名稱分別為check、dev、prod 之后就可以為每個configurations配置單獨(dú)的bundle id、證書、簽名等信息 我這里沒有更改 bundle id,只是為debug環(huán)境和release環(huán)境配置了不同的簽名,所以最后看到的效果如下: 除此之外,Podfile還需要更改如下位置: 之后執(zhí)行pod install, 就會看到, Pod的PROJECT下的info多出了如下內(nèi)容: 在info.plist 文件添加一條key為Flavor, value為$(PRODUCT_FLAVOR),如下: 打開appdelegate,添加如下代碼, 我這里是swift語言,用oc語言的,翻譯成oc語言就可以 在mainActivity里添加如下代碼 這里說明一個BuildConfig,這個文件,在選擇了flavor后,會自動生成,這里只需要引用一下就可以, 這樣就拿到了當(dāng)前運(yùn)行環(huán)境,flutter也可以設(shè)置自己的一些設(shè)置 以上,就完成了,之后運(yùn)行打包,只要選擇對應(yīng)configuration就可以,命令行需要指定flavor, 比如: 和 flutter build apk --flavor dev flutter build ios --flavor dev更多資料 配置 flavors 構(gòu)建雙端 博客地址: csdn GitHub: flutter_muti_env |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |