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
- Android Studio打包專案:APKAndroidAPK
- Flutter的apk打包FlutterAPK
- Android APK打包流程AndroidAPK
- flutter常見問題【3】:Flutter 使用Android studio 打包生成apkFlutterAndroidAPK
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- 【Android APK】解析SD卡上的APK檔案AndroidAPKSD卡
- Android studio匯出apk檔案AndroidAPK
- 簽名打包Android版apkAndroidAPK
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Cordova 打包 apk,html 打包 apkAPKHTML
- 從零學習Fluter(七):Flutter仿boss直聘以及Flutter打包apk詳解FlutterAPK
- uni-app專案打包成apk(本地打包篇)APPAPK
- APK 檔案分析APK
- vue 專案打包成apk(Hbuilder方案)VueAPKUI
- Flutter 58: 圖解 Flutter 嵌入原生 AndroidFlutter圖解Android
- 一鍵解決Android專案圖片壓縮煩惱,為apk瘦身!AndroidAPK
- Mac打包dmg檔案(更換背景圖)Mac
- uniapp打包apk安裝,應用版本號衝突,根據已有apk檔案獲取應用版本號APPAPK
- Flutter入門進階之旅(十八)Flutter專案打包成aar整合到原生Android專案FlutterAndroid
- uni-app&H5&Android混合開發二 || 使用Android Studio打包應用APKAPPH5AndroidAPK
- Android解決The APK file app-debug.apk does not exist on disk.AndroidAPKAPP
- Kitten程式設計貓的工程檔案 bcm,能釋出成Android平臺的apk檔案嗎程式設計AndroidAPK
- Flutter完整開發實戰詳解(十四、混合開發打包 Android 篇)FlutterAndroid
- Android APK開發:Menu介面功能詳解AndroidAPK
- Android APK反編譯技巧全講解AndroidAPK編譯
- React Native 打包apk的那些坑React NativeAPK
- Flutter-Android 應用打包相關問題FlutterAndroid
- docker新增檔案重新打包Docker
- webpack打包bundle檔案解析Web
- Flutter完整開發實戰詳解(十九、 Android 和 iOS 打包提交稽核指南)FlutterAndroidiOS
- flutter打包Flutter
- Android 專案整合 FlutterAndroidFlutter
- Linux 學習筆記--檔案打包與解壓縮Linux筆記
- VUE打包後配置配置檔案修改請求url方法及webpack打包的檔案生成同名檔案方法VueWeb
- maven專案打包後war檔案丟失配置檔案Maven
- Flutter 檔案讀寫---path_provider詳解FlutterIDE