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