發布Flutter開發的Android程序

在典型的開發周期中,您將使用flutter run命令行或者IntelliJ中通過工具欄運行和調試按鈕進行測試。默認情況下,Flutter構建應用程序的debug版本。

當您準備好為Android準備的release版時,例如要發布到應用商店,請按照此頁面上的步驟操作。

檢查 App Manifest

查看默認應用程序清單文件(位于<app dir>/android/app/src/main/中的AndroidManifest.xml文件),并驗證這些值是否正確,特別是:

  • application: 編輯 application 標簽, 這是應用的名稱。

  • uses-permission: 如果您的應用程序代碼不需要Internet訪問,請刪除android.permission.INTERNET權限。標準模板包含此標記是為了啟用Flutter工具和正在運行的應用程序之間的通信。

查看構建配置

Review the default [Gradle build file][gradlebuild] file build.gradle located in <app dir>/android/app/ and verify the values are correct, especially: 查看默認[Gradle 構建文件][gradlebuild]"build.gradle",它位于<app dir>/android/app/,驗證這些值是否正確,尤其是:

  • defaultConfig:

    • applicationId: 指定始終唯一的 (Application Id)appid

    • versionCode & versionName: 指定應用程序版本號和版本號字符串。有關詳細信息,請參考版本文檔

    • minSdkVersion & targetSdkVersion: 指定最低的API級別以及應用程序設計運行的API級別。有關詳細信息,請參閱版本文檔中的API級別部分。

添加啟動圖標

當一個新的Flutter應用程序被創建時,它有一個默認的啟動器圖標。要自定義此圖標:

  1. 查看Android啟動圖標 設計指南,然后創建圖標。

  2. <app dir>/android/app/src/main/res/目錄中,將圖標文件放入使用配置限定符命名的文件夾中。默認mipmap-文件夾演示正確的命名約定。

  3. AndroidManifest.xml中,將application標記的android:icon屬性更新為引用上一步中的圖標(例如 <application android:icon="@mipmap/ic_launcher" ...)。

  4. 要驗證圖標是否已被替換,請運行您的應用程序并檢查應用圖標

app簽名

創建 keystore

如果您有現有keystore,請跳至下一步。如果沒有,請通過在運行以下命令來創建一個:keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

注意:保持文件私密; 不要將它加入到公共源代碼控制中。

注意: keytool可能不在你的系統路徑中。它是Java JDK的一部分,它是作為Android Studio的一部分安裝的。有關具體路徑,請百度。

引用應用程序中的keystore

創建一個名為<app dir>/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>

注意: 保持文件私密; 不要將它加入公共源代碼控制中

在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
       }
    }

    現在,您的應用的release版本將自動進行簽名。

構建一個發布版(release)APK

本節介紹如何構建發布版(release)APK。如果您完成了前一節中的簽名步驟,則會對APK進行簽名。

使用命令行:

  1. cd <app dir> (<app dir> 為您的工程目錄).
  2. 運行flutter build apk (flutter build 默認會包含 --release選項).

打包好的發布APK位于<app dir>/build/app/outputs/apk/app-release.apk

在設備上安裝發行版APK

按照以下步驟在已連接的Android設備上安裝上一步中構建的APK

使用命令行:

  1. 用USB您的Android設備連接到您的電腦
  2. cd <app dir> .
  3. 運行 flutter install .

將APK發布到Google Play商店

將應用的release版發布到Google Play商店的詳細說明,請參閱 Google Play publishing documentation. (國內不存在的,但你可以發布到國內的各種應用商店)


所屬標簽

無標簽

官方入門指南

Flutter官方發布的入門指導,包括了如何在不同的平臺(Windows, Mac, Linux)上搭建開發環境,以及一些入門級的指導,以便您從零開始進入Flutter的世界,同時,一些Flutter的框架API,也是您開發時必不可少的工具書。

從這里進入


25选5玩法中奖