vscode Flutter 發布Android版APP


1.創建 keystore 

keytool -genkey -v -keystore d:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

粗字體可換成自己的路徑

生成成功之后,d盤下會出現  key.jks 這個文件,代表成功。

2.創建 key.properties

在 flutter 項目 android 下創建 key.properties

 key.properties 文件內容為

storePassword=xxx        --創建keystore時的密碼

keyPassword=xxx        --創建keystore時的密碼

keyAlias=key

storeFile=d:/key.jks    --key.jks的路徑

3.修改 android>app>build.gradle 文件

在 buildTypes 上面一行新增 

signingConfigs {

  release {

    keyAlias keystoreProperties['keyAlias']

    keyPassword keystoreProperties['keyPassword']

    storeFile file(keystoreProperties['storeFile'])

    storePassword keystoreProperties['storePassword']

  }

}

buildTypes>release 則修改為  

signingConfig signingConfigs.release

 

開啟混淆

默認情況下 flutter 不會開啟 Android 的混淆。

如果使用了第三方 Java 或 Android 庫,也許你想減小 apk 文件的大小或者防止代碼被逆向破解。

配置混淆

創建 /android/app/proguard-rules.pro 文件,並添加以下規則:

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

上述配置只混淆了 Flutter 引擎庫,任何其他庫(比如 Firebase)需要添加與之對應的規則。

開啟混淆/壓縮

打開 /android/app/build.gradle 文件,定位到 buildTypes 塊。

在 release  配置中將 minifyEnabled  和 useProguard  設為 true,再將混淆文件指向上一步創建的文件。

android {

    ...

    buildTypes {

        release {

            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

4.構建Android APK

 

運行flutter build apk 命令

 

如果成功,打包好的apk包,會在 flutter項目 build>app>outputs>apk>release> 目錄內 ,包名為 app-release.apk

至此。發布完成




免責聲明!

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



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