Flutter应用如何打包发版

举报
IT编程技术学习栈 发表于 2023/04/11 14:37:13 2023/04/11
【摘要】 Flutter应用程序的打包和发布可以通过Flutter命令行工具完成。以下是具体步骤:确保你已经安装了Flutter SDK,并且在终端中配置了Flutter环境变量。在终端中进入Flutter项目的根目录,运行flutter build apk命令生成APK文件(Android)或flutter build ios命令生成ipa文件(iOS)。如果需要对APK或ipa进行签名,则需要使用...

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架构上都可以正常运行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。