最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flutter打包APK的幾種方式小結(jié)

 更新時(shí)間:2025年03月31日 10:33:15   作者:小魚(yú)人愛(ài)編程  
Flutter打包不同于RN,Flutter可以在Android?Studio里編寫(xiě)Flutter代碼并最終打包為APK,本篇主要闡述涉及到的幾種打包方式,通過(guò)圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下

前言

Flutter打包不同于RN,F(xiàn)lutter可以在Android Studio里編寫(xiě)Flutter代碼并最終打包為APK,本篇主要闡述涉及到的幾種打包方式。
通過(guò)本篇文章,你將了解到:

Android原生打包APK方式

Flutter通過(guò)原生工程打包方式

Futter工程打包方式

Flutter打包產(chǎn)物分析

1. Android原生打包APK方式

以原生Android工程為例。

  • 設(shè)置編譯模式

選擇變體,通常有debug和release模式(可以新增不同的模式),默認(rèn)是debug模式。
我們平時(shí)點(diǎn)擊Run到設(shè)備上就是debug模式。

  • 開(kāi)始構(gòu)建

選擇后開(kāi)始構(gòu)建,因?yàn)榍懊孢x的是debug模式,因此此時(shí)打出來(lái)的包就是debug包。

  • 查看構(gòu)建產(chǎn)物

可以看出,build目錄下有個(gè)debug.apk,說(shuō)明打包成功。

當(dāng)然如果要打release包,首先要在build.gradle(module級(jí)別)設(shè)置簽名,而后再按上述的步驟將Build Variant 切換成release模式,接下來(lái)的操作與debug模式打包一樣的。

release產(chǎn)物如下:

此處沒(méi)有設(shè)置簽名,因此打出來(lái)的包有unsigned字樣。

2. Flutter通過(guò)原生工程打包方式

打開(kāi)一個(gè)Flutter工程,其目錄結(jié)構(gòu)如下:

可以看出,根目錄下有個(gè)android的目錄,使用Android Studio 打開(kāi)該目錄:

這就是一個(gè)可正常運(yùn)行的Android 工程,在此處運(yùn)行與在Flutter 工程里運(yùn)行效果是一致的。
只不過(guò)Build Variant比普通的Android工程多了個(gè)profile模式(性能調(diào)試時(shí)使用,平時(shí)用不到)。

因此打開(kāi)Flutter里的android工程,就可以像普通android工程一樣構(gòu)建、打包。

3. Futter工程打包方式

當(dāng)然如果你不想既打開(kāi)Flutter工程,又打開(kāi)Android工程,其實(shí)Flutter工程里也可以編譯打包的,歸納為三種方式。

第一種:

查看產(chǎn)物:

注意:

此種方式默認(rèn)是release模式

第二種:
命令行打包,在Android Studio Terminal里輸入如下命令

flutter build apk --debug //打debug包
flutter build apk --release //打release包

打包的產(chǎn)物依舊是如上flutter-apk目錄。

第三種:
如果嫌每次命令行輸入命令麻煩,而只想將包run在設(shè)備上,此時(shí)依然可以借助IDE。
編輯配置。

填上"--debug"表示run的是debug包。

同樣的,填上"--release"表示run的是release包。

最終配置界面顯示如下:

此時(shí)即可隨時(shí)run不同模式的包。

4. Flutter打包產(chǎn)物分析

debug、release模式下,F(xiàn)lutter業(yè)務(wù)代碼分別以什么樣的形式存在呢?

解壓apk,查看debug模式下的產(chǎn)物:

以.bin文件存在,支持JIT(Just-In-Time),有調(diào)試信息,支持熱重載。

JIT:

定義: JIT 是一種動(dòng)態(tài)編譯技術(shù),在運(yùn)行時(shí)將代碼從高級(jí)語(yǔ)言(如 Dart)即時(shí)編譯為機(jī)器碼。
用途:
主要用于開(kāi)發(fā)階段,支持熱重載(Hot Reload)功能。
允許開(kāi)發(fā)者快速查看代碼更改的效果,而無(wú)需重新啟動(dòng)應(yīng)用。
特點(diǎn):
不需要提前編譯整個(gè)應(yīng)用程序。
運(yùn)行速度較慢,因?yàn)榫幾g是在運(yùn)行時(shí)完成的。
占用更多內(nèi)存,適合開(kāi)發(fā)環(huán)境而非生產(chǎn)環(huán)境

解壓,查看release模式下的產(chǎn)物:

最終是打包為了.so文件,支持AOT (Ahead-Of-Time )。 AOT :

定義: AOT 是一種靜態(tài)編譯技術(shù),在構(gòu)建階段將代碼從高級(jí)語(yǔ)言(如 Dart)提前編譯為原生機(jī)器碼。
用途:
主要用于生產(chǎn)環(huán)境,確保應(yīng)用性能最優(yōu)。
編譯后的代碼可以直接運(yùn)行在目標(biāo)設(shè)備上,無(wú)需額外的虛擬機(jī)或解釋器。
特點(diǎn):
提供更快的應(yīng)用啟動(dòng)時(shí)間和運(yùn)行速度。
減少內(nèi)存占用。
不支持熱重載,但生成的二進(jìn)制文件更小、更高效

以上就是Flutter打包APK的幾種方式小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Flutter打包APK的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android網(wǎng)絡(luò)請(qǐng)求-sign參數(shù)的設(shè)置方式

    Android網(wǎng)絡(luò)請(qǐng)求-sign參數(shù)的設(shè)置方式

    這篇文章主要介紹了Android網(wǎng)絡(luò)請(qǐng)求-sign參數(shù)的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Android Studio SVN使用方法教程

    Android Studio SVN使用方法教程

    這篇文章主要介紹了Android Studio SVN使用方法教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Android 后臺(tái)發(fā)送郵件到指定郵箱

    Android 后臺(tái)發(fā)送郵件到指定郵箱

    這篇文章主要介紹了Android 后臺(tái)發(fā)送郵件到指定郵箱的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • 淺談Android Studio JNI生成so庫(kù)

    淺談Android Studio JNI生成so庫(kù)

    下面小編就為大家?guī)?lái)一篇淺談Android Studio JNI生成so庫(kù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例

    Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例

    這篇文章主要介紹了Android開(kāi)發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能,結(jié)合實(shí)例形式分析了Android布局、事件響應(yīng)、監(jiān)聽(tīng)以及時(shí)間獲取相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Android實(shí)現(xiàn)搜索功能并本地保存搜索歷史記錄

    Android實(shí)現(xiàn)搜索功能并本地保存搜索歷史記錄

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)搜索功能,并實(shí)現(xiàn)本地保存搜索歷史記錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Android巧用ActionBar實(shí)現(xiàn)下拉式導(dǎo)航

    Android巧用ActionBar實(shí)現(xiàn)下拉式導(dǎo)航

    這篇文章主要為大家詳細(xì)介紹了Android巧用ActionBar實(shí)現(xiàn)下拉式導(dǎo)航的相關(guān)資料,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法

    Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法

    今天小編就為大家分享一篇關(guān)于Android獲得設(shè)備狀態(tài)信息、Mac地址、IP地址的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Android編程之簡(jiǎn)單啟動(dòng)畫(huà)面實(shí)現(xiàn)方法

    Android編程之簡(jiǎn)單啟動(dòng)畫(huà)面實(shí)現(xiàn)方法

    這篇文章主要介紹了Android編程之簡(jiǎn)單啟動(dòng)畫(huà)面實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了開(kāi)機(jī)啟動(dòng)畫(huà)面的制作步驟及布局、Activity跳轉(zhuǎn)、權(quán)限控制等的相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • Android條目拖拽刪除功能實(shí)例代碼

    Android條目拖拽刪除功能實(shí)例代碼

    最近做項(xiàng)目遇到這樣的需求,要做條目條目拖拽刪除效果,實(shí)際效果和QQ消息刪除一樣,側(cè)滑有制定和刪除,下面通過(guò)本文給大家分享Android條目拖拽刪除功能,需要的朋友參考下吧
    2017-08-08

最新評(píng)論

阜新市| 关岭| 蕉岭县| 恭城| 崇仁县| 商河县| 岗巴县| 沧州市| 濮阳市| 沙坪坝区| 河源市| 措美县| 临漳县| 宁安市| 蒙城县| 夏津县| 广饶县| 永嘉县| 武义县| 长武县| 综艺| 观塘区| 德阳市| 黔江区| 阳信县| 富锦市| 白河县| 四川省| 大姚县| 古浪县| 长白| 南岸区| 南昌县| 武城县| 秦皇岛市| 乌兰县| 永宁县| 金华市| 清镇市| 宽甸| 蚌埠市|