這裏 我用的VSC
app簽名
第一步:生成 keystore
這裏的坑挺多的,小夥伴一定要注意。官方寫的非常簡單,只要在終端運行如下代碼就可以成功,但事實是報錯。
如果您有現有keystore,請跳至下一步。如果沒有,請通過在運行以下命令來創建一個:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意:保持文件私密; 不要將它加入到公共源代碼控制中。
注意: keytool可能不在你的系統路徑中。它是Java JDK的一部分,它是作爲Android Studio的一部分安裝的。
報錯截圖
根本找不到這個目錄,真的很坑,其實我們只是沒有配置環境變量。但是爲了一個包配置環境變量是不知道的。這時候可以用下面的命令找到keytool.exe的位置。
flutter doctor -v
這時候你直接拷貝命令並進行輸入,但這裏也有個坑,就是如果文件夾中間帶有空空,你需要用帶引號擴上。
這就可以了嗎?那你就太天真了,還是會報錯。
這裏的問題是:目錄不存在和沒有寫權限,所以我們要更換一個有寫權限的目錄。我們把命令改成了下面的形式。換成我們有的
這裏 我們已經生成好了。我就不截圖了 自己去相對應的目錄看一下。記住這個文件不能共享給任何人。
有了這個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=123123
keyPassword=123123
keyAlias=key
storeFile=D:/key.jks
第二步 配置key註冊
key生成好後,需要在build.gradle文件中進行配置。這個過程其實很簡單,就是粘貼複製一些東西,你是不需要知道這些文件的具體用處的。
第一步
進入項目目錄的/android/app/build.gradle文件,在android{這一行前面,加入如下代碼:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
把如下代碼進行替換
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
搞定