日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

flutter打包

發(fā)布時(shí)間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flutter打包 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

提示:本文在 Vscode中,安卓打包方式。

文章目錄

  • flutter打包
  • 一、簡(jiǎn)單版
  • 二、復(fù)雜版
    • 1.生成 keystore
      • 解決報(bào)錯(cuò)
    • 2.配置口令信息
    • 3.成功創(chuàng)建出key.jks
    • 4.創(chuàng)建key.properties的文件
    • 5.配置build.gradle文件
    • 6.生成apk flutter build apk
  • 三、安裝打包好的包
  • 總結(jié)


flutter打包

提示:flutter開(kāi)發(fā)后,打包的兩種方式:我使用的是vscode開(kāi)發(fā)。

簡(jiǎn)單版本和復(fù)雜版本。


提示:一般來(lái)說(shuō)在開(kāi)發(fā)測(cè)試階段使用簡(jiǎn)單版,發(fā)布階段再使用復(fù)雜版。

一、簡(jiǎn)單版

打開(kāi)VScode終端:輸入命令 flutter build apk 即可
如圖:表示打包成功了。

二、復(fù)雜版

1.生成 keystore

打開(kāi)VScode終端輸入:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

如果出現(xiàn)如下報(bào)錯(cuò) ,證明你的java的jdk環(huán)境變量沒(méi)有配置好(a

  • 可以重新配置jdk環(huán)境變量
  • 或者在剛剛的輸入命令前面加上jdk環(huán)境變量的路徑,注意空格需要用反引號(hào)(詳情如下)

如果沒(méi)有如下報(bào)錯(cuò),直接跳到第二步(配置口令信息),看接下來(lái)的操作。

解決報(bào)錯(cuò)

  • 輸入flutter doctor -v,查看java的jdk的安裝路徑
  • 更改剛才的命令為 :java安裝路徑keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    注意:后面的java不寫(xiě),只寫(xiě)到 bin ,詳情如下
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

此時(shí)不再報(bào)錯(cuò),界面展示如下

2.配置口令信息

出現(xiàn)如下操作選項(xiàng),這里可以 自由輸入 ,記住此時(shí)輸入的 口令,后面會(huì)用到。 我的都是: 123456 名稱我都直接回車(chē)掠過(guò)了。

若此時(shí)填寫(xiě)完信息后,還會(huì)報(bào)錯(cuò),請(qǐng)檢查 此處的 ~ 是否換成自己的盤(pán)符。
我的換成了 D:/ ,否則會(huì)報(bào)錯(cuò)。
控制臺(tái)輸入(剛剛的命令,修改為此: ~改為了D:):
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
繼續(xù)填寫(xiě)一系列的問(wèn)題。最后是否正確輸入: y即可

3.成功創(chuàng)建出key.jks

查看你剛剛輸入的盤(pán)符,目錄下,我的D盤(pán)下面就會(huì)有一個(gè)Jks的文件,記住這個(gè)文件不能共享給任何人。

有了這個(gè)key.jks文件后,可以到項(xiàng)目目錄下的android文件夾下,創(chuàng)建一個(gè)名為key.properties的文件,并打開(kāi)粘貼下面的代碼。

4.創(chuàng)建key.properties的文件

在你的項(xiàng)目的根目錄下 android文件下,新建一個(gè)key.properties文件
粘貼下面的代碼(這里就需要你剛剛設(shè)置的密鑰,我的是123456)

storePassword=<password from previous step> //輸入上一步創(chuàng)建KEY時(shí)輸入的 密鑰庫(kù) 密碼 keyPassword=<password from previous step> //輸入上一步創(chuàng)建KEY時(shí)輸入的 密鑰 密碼 keyAlias=key storeFile=<E:/key.jks> //key.jks的存放路徑···

5.配置build.gradle文件

接下來(lái)找到 build.gradle文件 (在/android/app/build.gradle),注意不要搞錯(cuò)了。
key生成好后,需要在build.gradle文件中進(jìn)行配置。這個(gè)過(guò)程其實(shí)很簡(jiǎn)單,就是粘貼復(fù)制一些東西,你是不需要知道這些文件的具體用處的。

  • 第一項(xiàng):

進(jìn)入項(xiàng)目目錄的/android/app/build.gradle文件,在android{這一行前面,加入如下代碼:

def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

  • 第二項(xiàng):把如下代碼進(jìn)行替換
buildTypes {release {signingConfig signingConfigs.debug} }

替換為

signingConfigs {release {keyAlias keystoreProperties['keyAlias']keyPassword keystoreProperties['keyPassword']storeFile file(keystoreProperties['storeFile'])storePassword keystoreProperties['storePassword']} } buildTypes {release {signingConfig signingConfigs.release} }

6.生成apk flutter build apk

最后一步:直接在終端中輸入: flutter build apk
如圖打包成功了(可以找到該apk安裝查看效果)

三、安裝打包好的包

  • 直接把該包復(fù)制后發(fā)到手機(jī),安裝即可

  • 控制臺(tái)cd到該包的目錄下,輸入

    ```java1.安裝apk到手機(jī)上adb install 路徑/apk文件2.卸載app從手機(jī)上adb uninstall 包名3.查看應(yīng)用的啟動(dòng)時(shí)間adb shell am start -W```

1.如果你的設(shè)備只有一個(gè)
輸入命令
adb install -r D:\study\flutterStudy\flutter02\build\app\outputs\flutter-apk\app-release.apk
2.如果你的設(shè)備有真機(jī),虛擬機(jī)好幾個(gè),想要在某一個(gè)安裝:
需要指定 某個(gè)設(shè)備 后進(jìn)行安裝
adb devices 查看當(dāng)前的設(shè)備

adb -s 設(shè)備名稱 install -r app的路徑/XXX.apk


輸入命令:

adb -s emulator-5554 install -r D:\study\flutterStudy\flutter02\build\app\outputs\flutter-apk\app-release.apk

總結(jié)

日常開(kāi)發(fā)中,只要第一種打包即可。不需要第二種,步驟過(guò)于繁瑣,

總結(jié)

以上是生活随笔為你收集整理的flutter打包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。