在完成一個可完整使用的應用程式後
就可以開始進行發布的動作了
發布一個 APP 的程序主要如下:
flutter create appname --org com.{yourname or companyname}
Signing & Capabilities
中重設 Bundle identifierandroid/app/build.gradle
=> defaultConfig
更改 applicationId
android/app/src/debug/AndroidManifest.xml
更改 package="..."
android/app/src/main/AndroidManifest.xml
更改 package="..."
android/app/src/main/kotlin/com/example/flutter_meals_app/MainActivity.kt
更改 packageandroid/app/src/profile/AndroidManifest.xml
更改 package="..."
android/app/src/main/AndroidManifest.xml
於 android:label="XXXX"
設置 APP 的顯示名稱ios/Runner.xcworkspace
,點擊左側 Runner
,在 identity 裡面的 Display Name 設置 APP 的顯示名稱android/app/src/main/AndroidManifest.xml
於 manifest
標籤中添加需要的權限:
<uses-permission android:name="android.permission.INTERNET"/>
android/app/build.gradle
更改 defaultConfig
中的內容:
minSdkVersion
: 指定應用程序設計運行的最低 API 級別,假設你的設備低於此級別,商店就不會讓你安裝應用targetSdkVersion
: 指定應用程序設計運行的目標 API 級別,默認值通常就是正確的不需要更改安裝方式:
開啟項目中的 pubspec.yaml 檔案,
於 dev_dependencies 處添加 flutter_launcher_icons: ^0.13.1
通常透過指令安裝的 package 會被放置在 dependencies 中
而放置在 dev_dependencies 中的 package,則表示只會在開發模式下使用
設置方式:
開啟項目中的 pubspec.yaml 檔案,
於 dev_dependencies 區塊下面添加一段設置內容
如下:
接著於終端機開啟項目,
執行命令 https://pub.dev/packages/flutter_launcher_icons
即可
最後就可以開啟 IOS 與安卓模擬器確認是否有成功顯示圖標囉!
製作要用的 splash_icon:
用剛才製作的 icon 另外生成一個 1024x1024px 的大小
將圖片存為 splash_icon.png
檔案
並放置到以下五個資料夾中:
drawable-hdpi
、 drawable-mdpi
、 drawable-xhdpi
、 drawable-xxhdpi
、 drawable-xxxhdpi
設置 splash 畫面
將 android/app/src/main/res/drawable/launch_background.xml
檔案更改為:
接著將檔案內容全部拷貝,覆蓋原本的 android/app/src/main/res/drawable-v21/launch_background.xml
檔案內容
android/app/src/main/res/values/colors.xml
檔案更改為:製作要用的 splash_icon:
用剛才製作的 icon 生成:
512x512px 大小的圖片,存為 splash_icon3x.png
檔案
256x256px 大小的圖片,存為 splash_icon2x.png
檔案
64x64px 大小的圖片,存為 splash_icon1x.png
檔案
上傳 icon
用 Xcode 開啟專案項目中的 ios/Runner.xcworkspace
開啟 Runner/Runner/Assets,點選 LaunchImage
將剛才製作的三個檔案依照檔名分別對應上傳至 1x 、 2x 、 3x 中
連結真實 iPhone 進行測試
將 iPhone 連結你的電腦
於 Xcode 中選取你的 iPhone 裝置
點擊左上角的播放鍵進行編譯並啟動 APP 即可看到 splash 畫面
首先要為應用程式設置簽名,步驟如下:
創建&上傳 keystore
於專案項目中執行指令:
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
接著回答問題:
附上 二位國家代碼查詢網站 (感謝谷歌大神🙏)
於 APP 中引用 keystore
創建檔案 /android/key.properties 並放入以下內容:
這邊要注意如有使用 GitHub 等儲存原始碼,請於 .gitignore 中確保加入:
**/android/key.properties
配置 keystore
更新檔案 /android/app/build.gradel
首先在 android { ... }
的前一行加入以下內容:
接著往下找到內容:
將整段用下方內容完全取代掉:
完成上述步驟後,發布應用程式時就會自動進行簽名了。
接著請先於項目中執行指令: flutter clean
清除所有緩存,確保正確執行到稍早配置的 keystore
然後執行指令: flutter build appbundle
建立發布應用程序用的 app bundle
最後進入 Google Play Console 網站,註冊成為開發者帳號(需支付 25 美金)
點擊建立應用程式,並按照一系列的說明進行資訊的填寫以及設置
接著可於左側選單點擊測試,選擇其中一種測試方式,
上傳你的 app bundle 檔案,檔案路徑為你的項目目錄中的:
/build/app/outputs/bundle/release/app-release.aab
flutter build ios