Flutter設置APP版本與構建版本


csdn 

打包

android

https://blog.csdn.net/sundaysme/article/details/106264735

https://blog.csdn.net/K_Hello/article/details/104795537?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.add_param_isCf 

簡述

https://www.jianshu.com/p/3011c694d037

 

ios

簡單命令

flutter clean

rm -rf ios/Flutter/App.framework

先在項目目錄下運行

flutter build ios --release

再到xcode下進行打包

如果不進行build命令,則在xcode下會報錯:

flutter Could not find an option named "track-widget-creation". 

具體打包方法:
https://github.com/bingoogolapple/bingoogolapple.github.io/issues/46

 

當一個純Flutter APP開發完成,我們要打包發布到App Store和各大安卓市場,這時候我們需要設置APP的版本號。

  如果我們在使用原生iOS或者Android開發的時,我們會在info.plist中設置versionbuild或是在build.gradle中設置versionNameversionCode,他們分別表示APP的版本和構建版本。

  但是我們在使用Flutter管理APP版本時,打開pubspec.yaml只看到一個version字段。這時候我們應該怎么設置APP的versionbuild呢?

  我們在pub上隨便找一個Flutter的組件,例如官方的camera,我們可以看到截止目前為止最新的版本為:camera: ^0.5.2+1。看到這里,我想大家都明白了,Dart采用的是加號式的版本描述方式,+前面是版本號,+后面是當前版本的build號。所以我們設置APP的版本號和build次數,在這里設置即可,例如:version: 1.2.0+1

  當我們新建一個Flutter工程的時候,我們分別使用Xcode和Android Studio打開iOS和Android的工程可以看到,iOS中的 version和 build的值分別為FLUTTER_BUILD_NAME 和 FLUTTER_BUILD_NUMBER

    <!-- version --> <key>CFBundleShortVersionString</key> <string>$(FLUTTER_BUILD_NAME)</string> <key>CFBundleSignature</key> <!-- build --> <key>CFBundleVersion</key> <string>$(FLUTTER_BUILD_NUMBER)</string> <key>LSApplicationCategoryType</key> 

同樣我們打開Android工程可以看到有如下定義:

    def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0.0' } 
    versionCode flutterVersionCode.toInteger() versionName flutterVersionName 

  事實上,Flutter在編譯的時候會生成ios/Flutter/Generated.xcconfigandroid/local.properties文件。這兩個文件由Flutter編譯自動生成,不可更改。記錄了包含SDK路徑或者文件路徑,版本信息,環境配置(release/debug)等信息。原生工程獲取版本信息的變量就定義在這兩個文件里面。



作者:readonly__
鏈接:https://www.jianshu.com/p/3011c694d037
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

 

 

 

https://segmentfault.com/a/1190000013672885

大致是這幾個步驟:

1.命令行生成key.jks文件;

2.在flutter項目中,android文件夾下進行相關配置,需配置的地方有:

--新建key.properyties文件,配置

storePassword=秘鑰庫密碼
keyPassword=秘鑰密碼
keyAlias=key
storeFile=秘鑰完整路徑

--app/build.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']
    }
}

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

3.生成apk:flutter build apk

檢測設備

adb devices  

 

4.安裝apk:flutter install


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM