Flutter 38: 圖解 Android 打包 APK 檔案

daxuesheng發表於2021-09-09

      小菜是搞 Android 的,曾經嘗試過打包 APK 檔案失敗,由於種種原因暫停研究,今天重新學習一下如何打包 APK 。講解的清楚明瞭,小菜在此基礎上整理一下打包過程中遇到的問題。

打包步驟:

  1. 檢查 Android 環境,一般新建的應用若不做特殊調整基本沒有問題;若需要網路請求,需要在 AndroidManifest 檔案中新增網路許可權;若需要更改應用名稱和圖示可以參考 ;

<uses-permission android:name="android.permission.INTERNET"/>

圖片描述

  1. 建立簽名檔案 key.jks,與直接 Android 打包時 key 檔案生成略有不同;需要在【終端】中執行如下命令;並按照指示填寫密碼和使用者基本資訊;注意:密碼需要牢記,且 key 檔案可以通用;

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

圖片描述

  1. Android 環境中配置 key.jks 檔案資訊;

      3.1  建立一個 key.properties 檔案,名稱並非絕對,並在檔案中填寫如下 key 基本資訊;

storePassword=123456keyPassword=123456keyAlias=key
storeFile=/Users/.../key.jks

圖片描述

      3.2  在 gradle 檔案中新增如下訊息,名稱要對應;

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

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

圖片描述

  1. 【終端】進入需要打包應用 pubspec.lock 目錄下,執行如下命令,等待即可,最終生成 APK 檔案目錄以【終端】顯示為準;

flutter build apk

圖片描述

圖片描述

  1. 將打包好的應用執行在終端裝置上即可;

圖片描述

問題一:key.jks 檔案存在卻忘記密碼;


圖片描述


      小菜以前嘗試時生成過 key.jks 檔案,但是實在是想不起密碼,打包一直失敗,無奈重新生成一個 key02.jks 檔案,使用新的簽名,但是在真正的專案中建議使用一套簽名檔案,否則在升級或其他情況會出問題,所以密碼和簽名檔案要牢記;


keytool -genkey -v -keystore ~/key02.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

      Tips: alias 和簽名檔案要與 key.properties 中對應。

圖片描述

問題二:command not found: flutter

圖片描述

      小菜以前釋出外掛時配置了一個牆外環境和牆內環境兩套,所以有些混亂,這個問題主要是 Flutter 環境未找到,需要找到個人配置的環境即可,若有問題可參考小菜很久以前分別為 WindowsMac 環境下配置環境的小部落格。



作者:阿策神奇


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2822598/,如需轉載,請註明出處,否則將追究法律責任。

相關文章