flutter 釋出release版的流程(android)

ArlenFuCN發表於2019-01-07

1、配置包名和版本

找到android-app-src-build.gradle檔案
defaultConfig{...}中配置好版本號以及包名

2、生成key

在AS的終端中,進入到工程目錄輸入(根據實際情況修改~/key.jks

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
複製程式碼

根據提示繼續往下執行,將生成檔案儲存好,記住生成檔案(key.jks)的路徑
這裡可能會提示,keytool不再系統的路徑中,它是Java JDK的一部分,它是作為Android Studio的一部分安裝的。有關具體路徑,請百度。找到JAVA JDK的路徑,然後就可以找到keytool

3、建立key.properities

android目錄中建立一個檔案,檔名為:`key.properties'
檔案內容為:

storePassword = <password from previous step>
keyPassword = <password from previous step>
keyAlias = key
storeFile = <location of the key store file, e.g. /Users/<user name>/key.jks>
複製程式碼

注意空格與縮排,需要將"<>"中的內容,包括"<>"完全替換
例如

storePassword = 123
keyPassword = 123
keyAlias = key
storeFile = D:/key.jks
複製程式碼

4、在gradle中配置簽名

通過編輯<app dir>/android/app/build.gradle檔案為您的應用配置簽名
1、替換

android {
複製程式碼

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

android {
複製程式碼

2、替換:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }}
複製程式碼

為:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }
}
複製程式碼

5、在buildTypes加上目標平臺的引數(可選)

因為在開發過程中可能用了一些第三方的外掛或者其他一些原因,在釋出release的時候可能會出現報錯的情況,因此需要在buildTypes中加上引數來限制平臺,保證包釋出正確
將buildTypes新增如下:

buildTypes {    
    release {        
        signingConfig signingConfigs.release        
        ndk {            
            abiFilters 'armeabi-v7a'        
        }    
    }
 }
複製程式碼

6、構建一個釋出版(release)APK

如果您完成了前一節中的簽名步驟,則會對APK進行簽名。

使用命令列:
1、cd <app dir>(<app dir>為您的工程目錄)
2、執行 flutter build apk (flutter build 預設包含 --release選項).一般可以直接在AS中的終端中執行


相關文章