注册

Flutter应用如何打包发版

Flutter应用程序的打包和发布可以通过Flutter命令行工具完成。以下是具体步骤:



  1. 确保你已经安装了Flutter SDK,并且在终端中配置了Flutter环境变量。
  2. 在终端中进入Flutter项目的根目录,运行flutter build apk命令生成APK文件(Android)或flutter build ios命令生成ipa文件(iOS)。
  3. 如果需要对APK或ipa进行签名,则需要使用相应的签名工具,例如jarsignerFastlane。签名后的文件可以直接上传至Google Play Store、Apple App Store等进行发布。
  4. 对于Android,可以使用Flutter gradle插件构建和打包APK文件,并自动签名。在build.gradle文件中添加Flutter插件依赖,然后运行flutter build apk命令即可生成签名过的APK文件。
  5. 对于单独渠道号等,有需要的可以单独配置。此文不做具体详解。

以下是Flutter代码示例:


# pubspec.yaml
name: my_flutter_app
version: 1.0.0
dependencies:
flutter:
sdk: flutter

# build.gradle
buildscript {
repositories {
google()
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'

// 添加Flutter插件依赖
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.google.gms:google-services:4.3.8'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.1'
classpath 'com.google.firebase:perf-plugin:1.4.0'
}
}

allprojects {
repositories {
google()
jcenter()
}
}

rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
delete rootProject.buildDir
}

# 运行打包命令
flutter build apk --release
# 如果有空安全,运行打包命令
# 可选debug,release,profile
flutter build apk --no-sound-null-safety --release

需要注意的是,要发布到应用商店(如Google Play Store或Apple App Store),需要对应用进行签名。在Flutter应用程序构建后,可以使用相应的签名工具对APK或ipa文件进行签名。例如,在Android上,可以使用jarsignerzipalign工具对APK文件进行签名和优化。而在iOS上,则需要使用Xcode中的证书签署和打包工具进行签名和打包。


Flutter支持通过构建发布包来支持多种CPU架构(如armeabi-v7a,arm64-v8a和x86_64等),以最大程度地提高应用程序的兼容性和性能。以下是具体步骤:



  1. 在Flutter项目的根目录下运行flutter build apk --target-platform android-arm,android-arm64,android-x64命令以生成支持多架构的APK文件。
  2. 运行上述命令后,Flutter会自动构建三个不同CPU架构的版本,并将它们打包到一个单独的APK文件中。
  3. 如果需要对APK进行签名,则可以使用常规的签名工具,例如jarsignerFastlane。需要对每个CPU架构分别进行签名,然后使用zipalign工具对打包后的文件进行优化。
  4. 最后,可以将签名过的APK文件上传至Google Play Store或其他应用商店进行发布。

注意,如果使用的是Flutter 2.5或更高版本,则无需手动指定目标平台,因为Flutter会自动为你构建多架构版本的应用程序。


以下是Flutter代码示例:


# 运行打包命令
flutter build apk --release --target-platform android-arm,android-arm64,android-x64

需要注意的是,在打包发布之前,应该先通过模拟器或真机设备进行测试,确保应用程序在所有CPU架

作者:IT编程学习栈
来源:juejin.cn/post/7220657346543435831
构上都可以正常运行。

0 个评论

要回复文章请先登录注册