Flutter 38: 圖解 Android 打包 APK 檔案
小菜是搞 Android 的,曾經嘗試過打包 APK 檔案失敗,由於種種原因暫停研究,今天重新學習一下如何打包 APK 。講解的清楚明瞭,小菜在此基礎上整理一下打包過程中遇到的問題。
打包步驟:
檢查 Android 環境,一般新建的應用若不做特殊調整基本沒有問題;若需要網路請求,需要在 AndroidManifest 檔案中新增網路許可權;若需要更改應用名稱和圖示可以參考 ;
<uses-permission android:name="android.permission.INTERNET"/>
建立簽名檔案 key.jks,與直接 Android 打包時 key 檔案生成略有不同;需要在【終端】中執行如下命令;並按照指示填寫密碼和使用者基本資訊;注意:密碼需要牢記,且 key 檔案可以通用;
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
在 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'] } }
【終端】進入需要打包應用 pubspec.lock 目錄下,執行如下命令,等待即可,最終生成 APK 檔案目錄以【終端】顯示為準;
flutter build apk
將打包好的應用執行在終端裝置上即可;
問題一: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 環境未找到,需要找到個人配置的環境即可,若有問題可參考小菜很久以前分別為 Windows 和 Mac 環境下配置環境的小部落格。
作者:阿策神奇
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2822598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flutter 打包 android端 apkFlutterAndroidAPK
- Flutter的apk打包FlutterAPK
- Android Studio打包專案:APKAndroidAPK
- Android Apk 打包AndroidAPK
- flutter常見問題【3】:Flutter 使用Android studio 打包生成apkFlutterAndroidAPK
- Android APK打包流程AndroidAPK
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- Android開發把專案打包成apkAndroidAPK
- 轉[Android]APK打包過程詳解(一)AndroidAPK
- 轉[Android]APK打包過程詳解(二)AndroidAPK
- APK檔案淺析-AndroidAPKAndroid
- Android 自動編譯、打包生成apk檔案 3 - 使用SDK Ant方式Android編譯APK
- Python for Android,將你的Python應用打包為APK檔案PythonAndroidAPK
- 【Android APK】解析SD卡上的APK檔案AndroidAPKSD卡
- Cordova 打包 apk,html 打包 apkAPKHTML
- 簽名打包Android版apkAndroidAPK
- Android開發 —— apk打包流程AndroidAPK
- 從零學習Fluter(七):Flutter仿boss直聘以及Flutter打包apk詳解FlutterAPK
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Android自定義打包apk名稱AndroidAPK
- Android studio匯出apk檔案AndroidAPK
- 通過Ant將Android project編譯打包成APK檔案並安裝到手機AndroidProject編譯APK
- uni-app專案打包成apk(本地打包篇)APPAPK
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- android 使用ANT批量打包apk步驟AndroidAPK
- 動態庫so打包到android apkAndroidAPK
- vue 專案打包成apk(Hbuilder方案)VueAPKUI
- APK 檔案分析APK
- Flutter 58: 圖解 Flutter 嵌入原生 AndroidFlutter圖解Android
- Android 生成簽名apk與多渠道打包AndroidAPK
- Android使用Ant進行apk多渠道打包AndroidAPK
- 檔案打包與解壓縮
- PhalApi-APK–APK檔案解包處理APIAPK
- android從IIS/asp.net下載apk檔案AndroidASP.NETAPK
- 如何給你的Android 安裝檔案(APK)瘦身AndroidAPK
- Mac打包dmg檔案(更換背景圖)Mac
- 一鍵解決Android專案圖片壓縮煩惱,為apk瘦身!AndroidAPK
- ReactNative學習筆記十六之Android打包ApkReact筆記AndroidAPK