flutter项目如何打包(android)
打包前要做的
1.更換圖標
andriod–》app–app–》src—》main-》Java----》res–》minpmap
其實這個打包的坑還是比較多的,官方文檔顯然是站在大神級程序員的角度寫的,所以如果你看文檔,特別是前端,那基本是打不成功的。
不要怕,我這里就詳細的把打包的過程和坑給大家演示一下。
1.配置APP的圖標
想配置APP的圖片,你需要找到下面的目錄:
項目根目錄/android/app/src/main/res/
進入之后你會看到很多mipmap-為前綴命名的文件夾,后邊的是像素密度,可以看出圖標的分辨率。
-
mdpi (中) ~160dpi
-
hdpi (高) ~240dip
-
xhdpi (超高) ~320dip
-
xxhdpi (超超高) ~480dip
-
xxxhdpi (超超超高) ~640dip
將對應像素密度的圖片放入對應的文件夾中,圖片記得用png格式,記得名字要統一,才能一次性進行配置。
2.修改APP名稱
在這個文件下
android\app\src\main\AndroidManifest.xml
AndroidManifest.xml 文件
這個文件主要用來配置APP的名稱、圖標和系統權限,所在的目錄在:
項目根目錄/android/app/src/main/AndroidManifest.xml
android:label="flutter_app" //配置APP的名稱,支持中文 android:icon="@mipmap/ic_launcher" //APP圖標的文件名稱3.生成 keystore
這里的坑挺多的,小伙伴一定要注意。官方寫的非常簡單,只要在終端運行如下代碼就可以成功,但事實是報錯。
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keykeytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key報錯截圖如下:
根本找不到這個目錄,真的很坑,其實我們只是沒有配置環境變量。但是為了一個包配置環境變量是不知道的。
這時候可以用下面的命令找到keytool.exe的位置。
flutter doctor -v這時候你直接拷貝命令并進行輸入,但這里也有個坑,就是如果文件夾中間帶有空空,你需要用帶引號擴上。
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key這就可以了嗎?那你就太天真了,還是會報錯。
這個錯誤的主要問題是目錄不存在和沒有寫權限,所以我們要更換一個有寫權限的目錄。我們把命令改成了下面的形式。
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key這時候就可以創建成功了。
如果創建不成功,顯示:
keytool 錯誤: java.lang.Exception: 未生成密鑰對, 別名 <key> 已經存在那么你的D盤下面肯定之前 已經生成了key.jks文件,刪除即可
你的D盤下面就會有一個Jks的文件,記住這個文件不能共享給任何人。
有了這個key.jks文件后,可以到項目目錄下的android文件夾下,創建一個名為key.properties的文件,并打開粘貼下面的代碼。
storePassword=<password from previous step> //輸入上一步創建KEY時輸入的 密鑰庫 密碼 keyPassword=<password from previous step> //輸入上一步創建KEY時輸入的 密鑰 密碼 keyAlias=key storeFile=<E:/key.jks> //key.jks的存放路徑我的文件最后是這樣的
storePassword=666666 keyPassword=666666 keyAlias=key storeFile=<D:/key.jks> storePassword=123123 keyPassword=123123 keyAlias=key storeFile=D:/key.jks這個工作中也不要分享出去哦,這個Key就算生成成功了。
配置key注冊
key生成好后,需要在build.gradle文件中進行配置。這個過程其實很簡單,就是粘貼復制一些東西,你是不需要知道這些文件的具體用處的。
第一項:
進入項目目錄的/android/app/build.gradle文件,在
android{}這一行前面,加入如下代碼:
def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android{}把如下代碼進行替換
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} }生成apk
直接在終端中輸入:
flutter build apk這時候就打包成功了,剩下的安裝過程我就省略,不作過多的介紹了。
報錯處理:
https://blog.csdn.net/u011809714/article/details/54860979
keytool -list -v -keystore “D:\key.jks”
修改密碼
keytool -storepasswd -keystore "D:\key.jks" keytool -keypasswd -keystore "D:\key.jks" -alias keyFlutter 項目打包 - Android
創建簽名
-
下載并安裝JDK,詳情問度娘
-
創建簽名
-
按照指令依次填寫要求的內容,最后填寫完成輸入 y 確認信息
-
查看證書的具體信息
應用配置簽名信息
- 在應用的android 創建文件 key.properties
- 進入項目目錄的/android/app/build.gradle文件,在文件頂部加入如下代碼
打包、安裝應用
- 打包
- 安裝
總結
以上是生活随笔為你收集整理的flutter项目如何打包(android)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Flutter中解析复杂的JSON(一
- 下一篇: flutter实现底部弹出框以及特色功能