欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

flutter打包很大,flutter抓包

flutter 常見問題之a(chǎn)pp體積為何比較大

細(xì)心的開發(fā)者會發(fā)現(xiàn)flutter構(gòu)建的App體積比native的大一些,是什么原因造成App體積大呢?

創(chuàng)新互聯(lián)提供高防物理服務(wù)器租用、云服務(wù)器、香港服務(wù)器、西部信息服務(wù)器租用

其實flutter 在release時App體積和native的大小差不多,而debug時體積通常會大。debug版本體積較大是為了Hot reload和快速編譯。如果有flutter開發(fā)經(jīng)驗的朋友都體驗過,如果您修改一下App的背景顏色,只需save一下就可以立刻看到修改后效果。我稱之為“像藝術(shù)家一樣在創(chuàng)造App”,因此為了實現(xiàn)這些目標(biāo),提高開發(fā)的效率,debug將占用全部資源。而當(dāng)我們構(gòu)建release版時,flutter又會采用AOT策略,提高App運行效率,release版只打包必需的資源,因而體積又會減少。

另外,flutter團隊也一直在尋找減小程序大小的方法。

Flutter ios打包 ipa

1.keychain 鑰匙串訪問

2.申請開發(fā)證書

3.注冊Bundle ID

4.配置開發(fā)證書 (生成.mobileprovision文件)

5.安裝證書

6.打包ipa

7.開發(fā)團隊如何公用證書

進入以下程序

此文件保存到你想保存的地方,后面生成證書有用。

1.打開 蘋果開發(fā)者中心 ( )

2.按照以下圖片步驟走:

上面省略的步驟,按照具體需要選擇,基本是“傻瓜式點擊

到這bundle id就OK了

.mobileprovision文件格式的配置文件是讓開發(fā)者的項目(APP)能有真機調(diào)試,發(fā)布的權(quán)限。

配置開發(fā)證書,就會需要你設(shè)置,在這個項目中添加哪些設(shè)備作為真機調(diào)試的設(shè)備

1.Xcode打開以下文件夾

2.三個必填項

4.選擇發(fā)布平臺:

1.本地安裝完.cer證書文件

輸入密碼之后點擊好,即可生成.p12文件

flutter-android打包

android打包教程:

1、在AndroidManifest中確定app的名字:

2、在app/build.gradle中設(shè)置安卓兼容版本targetSdkVersion和最低版本minSdkVersion,還有編譯版本compileSdkVersion,還有設(shè)置包名applicationId,一般不用設(shè)置,除非你是要變更

4、添加啟動圖標(biāo),圖標(biāo)資源文件的位置如下:

看到這個文件的時候,就說明創(chuàng)建證書成功了

6、配置項目證書

在android目錄下新建一個file文件key.properties,然后填寫證書的信息如下:

7、啟用混淆

在app路徑中添加proguard-rules.pro文件(這個百度下就好了)

8、構(gòu)建flutter build apk

flutter 打包web

先運行下,看當(dāng)前flutter 是否支持web項目, 如果沒有enable-web: true 則輸入 flutter config --enable-web

這時候項目中就包含了web文件夾.

輸入 flutter build web 就可以在build文件夾中生成web文件, 將它放到到tomcat或者其他容器就能訪問了!

附上項目的測試連接:

參考:

Flutter Android端集成排坑 - armeabi 適配 & FlutterBoost

Flutter可以算是當(dāng)下最火熱的新技術(shù)之一,我現(xiàn)在所在團隊也準(zhǔn)備將Flutter技術(shù)應(yīng)用到線上工程中。

關(guān)于混合工程,官方文檔其實寫的已經(jīng)比較清楚了,按著文檔走一般問題不大,

但是有一點值得注意的是,F(xiàn)lutter工程引入的庫的gradle的 buildTypes 要與原工程保持一致,如果不一致需要手工添加。

進入正題,現(xiàn)在Flutter官方默認(rèn)只提供armeabi-v7a、arm64-v8a、x86和x86-64,其中x86和x86-64是為模擬器準(zhǔn)備的。目前我們使用的SDK大部分只使用了armeabi架構(gòu),直接使用我們會遇見找不到 libflutter.so,libapp.so 的情況,所以我們需要對FlutterSDK做一定的改造。

首先我們要了解下Flutter編譯產(chǎn)物,因為不同版本產(chǎn)物是不同的,這里我們只針對Flutter 1.9.1-hotfixes來說。除了資源文件之外,F(xiàn)lutter打包會生成兩個非常重要的so庫,他們分別是 libflutter.so,libapp.so 。其中 libflutter.so 是Flutter的SDK產(chǎn)物而 libapp.so 正是我們編寫的dart文件的產(chǎn)物。默認(rèn)情況下,這兩個文件都會出現(xiàn)在armeabi-v7a中,因此我們要作出對應(yīng)的改造。

libflutter.so 位于FlutterSDK中,這里順帶提一句,除了這對不同CPU架構(gòu),它還分為Debug版和Release版,它們的區(qū)別在于Debug是為JIT編譯方式打造的,體積較大而Release是為AOT編譯方式打造的,體積很小。對 libflutter.so 的改造,只要將其移動文件路徑即可,運行以下腳本即可,此腳本來自美團分享的Flutter文章。

移動完了 libflutter.so 之后我們打包發(fā)現(xiàn), libapp.so 仍然會出現(xiàn)在armeabi-v7a中,所以第二部我們就是移動 libapp.so 。這個需要更改 flutter.gradle ,我們在 flutter.gradle 的45行可以看到如下定義,它定義了我們的環(huán)境。

在524行我們可以看到,abiValue的取值就是根據(jù)上述定義值。

所以結(jié)論很簡單,只要將

private static final String ARCH_ARM32 = "armeabi-v7a";

改為

private static final String ARCH_ARM32 = "armeabi";

就可以完成對與 libflutter.so 的移動。

前期工作我們都做好了,打成aar就非常簡單了

直接使用 flutter build aar --target-platform android-arm

打出來后可以解壓檢查下 libflutter.so,libapp.so 是否都在armeabi文件夾下即可。

說完了armeabi適配問題,這里下說下有關(guān)于有關(guān)于FlutterBoost的接入。這個東西接入有兩點要注意。

在主app內(nèi)加上即可,常規(guī)操作,強制統(tǒng)一support包的版本號

注釋flutter.gradle第655行。因為編譯過程中,會去初始化插件項目的buildType下面的debug配置,而插件項目下并未配置debug,導(dǎo)致報錯。

如果發(fā)現(xiàn)文章中有錯誤或者有更好的解決方案歡迎指正留言,當(dāng)然如果本篇文章幫助你解決了問題,也不要吝嗇你的感謝。謝謝各位。

Flutter 的Android 、iOS 打包

Flutter 項目雖說是跨平臺項目,但是項目的名稱還是需要在不同的平臺設(shè)置,不同平臺的設(shè)置位置是:

1、 Android 項目名字配置是在 android/app/src/main/AndroidManifest.xml 文件中的 application 下的 android:label 。如下圖所示:

2、 iOS 項目名字配置是在 ios/Runner/Info.plist 文件中的 dict 下的 keyCFBundleName/key stringtestapp/string 。如下圖所示:

Flutter 項目雖說是跨平臺項目,但是項目的 Logo 圖標(biāo)還是需要在不同的平臺設(shè)置,不同平臺的設(shè)置位置是:

1、 Android 項目 Logo 配置是在圖片放置在 android/app/src/main/res 下的對應(yīng)目錄下:

mipmap-mdpi : 48 _ 48

mipmap-hdpi : 72 _ 72

mipmap-xhdpi :96 _ 96

mipmap-xxhdpi :144 _ 144

mipmap-xxxhdpi :192 * 192。如下圖所示:

然后,在 android/app/src/main/AndroidManifest.xml 路徑下的 AndroidManifest.xml 文件中的 android:icon 。如下圖所示:

2、 iOS 項目 Logo 的配置是在 ios/Runner/Assets.xcassets/AppIcon.appiconset 文件下,直接更換圖片,名字不要改動 。如下圖所示:

1、使用 cd 指令進入項目(testapp)的根目錄(方便后面操作),如下圖所示:

填寫對應(yīng)的值,如下圖所示:

1、 build.gradle 文件的位置,如下圖所示:

2、在 build.gradle 中配置 key.propreties 的全局變量,

如下圖所示:

3、 build.gradle 文件中進行簽名配置。

如下圖所示:

注意: buildTypes 中的 signingConfig signingConfigs.debug 可以變更為 signingConfig signingConfigs.release ,這樣在打包的時候,直接可以 flutter build apk ,否則就執(zhí)行 flutter build apk --release 。如圖所示:

1、 cd 進入功能(testapp) 的根目錄,如下圖所示:

2、執(zhí)行 flutter build apk 指令,如下圖所示:

我們打包成功, 生成的 apk 包在 build/app/outputs/apk/release/app-release.apk 目錄下,如下圖所示:

1、將真機通過 USB 鏈接到電腦上,如下圖所示:

2、然后,在項目的根目錄執(zhí)行 flutter install , 如果出現(xiàn)電腦同時有多個設(shè)備時,就執(zhí)行 flutter install -d deviceid 。如下圖所示:

3、設(shè)備的安裝過程如下:

1、必須一個 Xcode 開發(fā)工具

2、如果是 Window 的電腦,請安裝 Mac 虛擬系統(tǒng),進行安裝 Xcode .

1、打開目錄下的 Runner.xcworkspace 工程。

如下圖所示:

2、在 ios 工程中配置 Signing Capabilities , 如下圖所示:

1、進入項目的根目錄

2、打包指令 flutter build ios --release

如圖所示:

3、使用 Xcode 工具進行打包

如圖所示:

注意:進行該步驟,必須執(zhí)行 flutter build ios --release 否則會報錯。

打包成功,如下圖所示:

分享題目:flutter打包很大,flutter抓包
網(wǎng)站路徑:http://aaarwkj.com/article0/dsspiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化、Google外貿(mào)建站、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
av天堂久久这里只有精品美国 | 久久免费国产精品电影| 国产成人精品一区二区国产乱码| 免费观看日本成人午夜大片| 少妇激情一区二区三区免费视频| 美女福利视频一区二区| 欧美老熟妇子乱视频在线| 91色老久久精品偷偷鲁无毒| 中文字幕的国产在线播放| 免费日韩黄片在线观看| 91精品国产综合久久男男| 日本一区二区三区高清| 国产福利三级在线观看| 爱高潮www亚洲精品| 久久免费观看性生活片| 和富婆啪啪一区二区免费看 | 老牛av一区二区三区| 国产黄片a三级久久久久久| 久久久亚洲成人国产av| 亚洲综合实力最强的国家| 国产高清不卡av在线| 熟女亚洲一区精品久久| 免费看欧美粗又大爽老| 久久综合亚洲鲁鲁五月天| 亚洲中少妇久久中文字幕| 91深夜在线免费观看| 黄色录像三级黄色录像三级黄色 | 日韩一区欧美中文字幕| 亚洲理论在线观看电影| 色婷婷久久综合中文久久| 自拍一区日韩二区欧美三区| 亚洲精品成av人在线观看| 欧美日韩综合精品无人区| 欧美亚洲精品二区久久久| 国产91在线观看网站| 中文日本强暴人妻另类视频| 免费爱爱视频在线观看| 日本人妻在线不卡视频| 蜜臀av在线国产一区| 亚洲av免费一区二区三区| 热门精品一区二区三区|