到現(xiàn)在為止,我相信小伙伴都能做出一些漂亮的頁面了酗失,也有了難道朋友面前顯一顯的沖動。想要安裝到手機(jī)上昧绣,我們必須要進(jìn)行打包规肴,這節(jié)課我們就學(xué)學(xué)Android客戶端如何打包apk。
配置APP的圖標(biāo)
想配置APP的圖片,你需要找到下面的目錄:
項(xiàng)目根目錄/android/app/src/main/res/
進(jìn)入之后你會看到很多mipmap-為前綴命名的文件夾拖刃,后邊的是像素密度删壮,可以看出圖標(biāo)的分辨率。
- mdpi (中) ~160dpi
- hdpi (高) ~240dip
- xhdpi (超高) ~320dip
- xxhdpi (超超高) ~480dip
- xxxhdpi (超超超高) ~640dip
將對應(yīng)像素密度的圖片放入對應(yīng)的文件夾中,圖片記得用png格式兑牡,記得名字要統(tǒng)一央碟,才能一次性進(jìn)行配置。
AndroidManifest.xml 文件
這個文件主要用來配置APP的名稱均函、圖標(biāo)和系統(tǒng)權(quán)限亿虽,所在的目錄在:
項(xiàng)目根目錄/android/app/src/main/AndroidManifest.xml
android:label="flutter_app" //配置APP的名稱,支持中文
android:icon="@mipmap/ic_launcher" //APP圖標(biāo)的文件名稱
生成 keystore
這里的坑挺多的苞也,小伙伴一定要注意洛勉。官方寫的非常簡單,只要在終端運(yùn)行如下代碼就可以成功,但事實(shí)是報錯如迟。
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
報錯截圖如下:
[圖片上傳失敗...(image-9b15be-1587973524324)]
根本找不到這個目錄收毫,真的很坑,其實(shí)我們只是沒有配置環(huán)境變量殷勘。但是為了一個包配置環(huán)境變量是不知道的此再。
這時候可以用下面的命令找到keytool.exe的位置。
flutter doctor -v
這時候你直接拷貝命令并進(jìn)行輸入玲销,但這里也有個坑输拇,就是如果文件夾中間帶有空空,你需要用帶引號擴(kuò)上痒玩。
D:\Program\Android'Android Studio'\jre\bin\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
這就可以了嗎淳附?那你就太天真了,還是會報錯蠢古。
這個錯誤的主要問題是目錄不存在和沒有寫權(quán)限奴曙,所以我們要更換一個有寫權(quán)限的目錄。我們把命令改成了下面的形式草讶。
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
這時候就可以創(chuàng)建成功了洽糟。你的D盤下面就會有一個Jks的文件,記住這個文件不能共享給任何人堕战。
有了這個key.jks文件后坤溃,可以到項(xiàng)目目錄下的android
文件夾下,創(chuàng)建一個名為key.properties的文件嘱丢,并打開粘貼下面的代碼薪介。
storePassword=<password from previous step> //輸入上一步創(chuàng)建KEY時輸入的 密鑰庫 密碼
keyPassword=<password from previous step> //輸入上一步創(chuàng)建KEY時輸入的 密鑰 密碼
keyAlias=key
storeFile=<E:/key.jks> //key.jks的存放路徑
我的文件最后是這樣的:
storePassword=123123
keyPassword=123123
keyAlias=key
storeFile=D:/key.jks
這個工作中也不要分享出去哦,這個Key就算生成成功了越驻。
配置key注冊
key生成好后汁政,需要在build.gradle文件中進(jìn)行配置道偷。這個過程其實(shí)很簡單,就是粘貼復(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))
把如下代碼進(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
}
}
生成apk
直接在終端中輸入:
flutter build apk
這時候就打包成功了目木,剩下的安裝過程我就省略换途,不作過多的介紹了。
ios打包
1.開發(fā)者賬號刽射,配置證書军拟,描述文件,xcode 打包