flutter Android 打包和发布

环境

mac

vscode

项目简易打包

打开VScode终端:输入命令flutter build apk即可

可能报错:

w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:

修改android/build.gradle 中版本信息

项目正式打包

1、版本修改

在pubspec.yaml中,修改版本信息

可能感觉很疑惑,后面的+1是什么意思?

如果大家是做过Android和IOS开发的话,大家应该知道Android和IOS版本都是有两个的

Android中应用的版本分为versionCode和versionName

versionCode:内部管理的版本号

versionName:用户显示的版本号

在IOS中,应用的版本分为version和build

version:表示用户显示的版本

build:内部管理的版本号

那么Flutter中我们是如何管理这两个版本号的?

1.0.0:表示的是用户显示的版本

1:表示内部管理的版本

2、生成应用程序签名

在 macOS 或者 Linux 系统上,执行下面的命令

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

在 Windows 系统上,执行下面的命令:

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

如果报错 ,java的jdk环境变量可能配置的有问题,keytool命令前面加上jdk环境变量的路径试试,注意空格需要用反引号

输入flutter doctor -v,查看java的jdk的安装路径

新的命令:

/Applications/Android\ Studio.app/Contents/jre/Contents/Home/bin/keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

信息填写,口令我都是输入:123456,下面的可以直接回车

3、项目中引用秘钥库

创建一个名为 /android/key.properties 的文件,内如如下:

storePassword=<上一步骤中的密码>

keyPassword=<上一步骤中的密码>

keyAlias=key

storeFile=<密钥库的位置,e.g. /Users/<用户名>/key.jks>

注意:这个文件一般不要提交到代码仓库

在build.gradle中配置签名

通过编辑 /android/app/build.gradle 文件来为我们的 app 配置签名,在android{...}这一行前面,加入如下代码

def keystorePropertiesFile = rootProject.file("key.properties")

def keystoreProperties = new Properties()

keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

build.gradle 文件中配置 signingConfigs 部分,内容如下:

signingConfigs {

release {

keyAlias keystoreProperties['keyAlias']

keyPassword keystoreProperties['keyPassword']

storeFile file(keystoreProperties['storeFile'])

storePassword keystoreProperties['storePassword']

}

}

4、打包应用程序

打包APK

运行 flutter build apk (flutter build 默认带有 --release 参数)

flutter build apk

打包AAB

运行 flutter build appbundle。 (运行 flutter build 默认构建一个发布版本。)

flutter build appbundle

测试安装包

直接把该包复制后发到手机,安装即可

adb命令:

1.安装apk到手机上 adb install 路径/apk文件

2.卸载app从手机上 adb uninstall 包名

3.查看应用的启动时间 adb shell am start -W

flutter devices 查看设备

//adb -s 设备名称 install -r app的路径/XXX.apk

adb -s 2KE0219B20039700 install -r /Users/miniwhite/StudioProjects/umeng_flutter_demo/build/app/outputs/flutter-apk/app-release.apk

发布应用程序

Android应用程序可以发布到很多的平台,包括国内的平台和国外的Google Play

国内的华为、小米、OPPO、VIVO等

可以根据不同的应用市场相关的规则,上传对应的APK或者AAB文件,填写相关的信息审核即可

国外的应用市场通常只有一个Google Play

1.需要申请一个Google Play 开发者账号

需要支付25美元注册费用的信用卡,信用卡需要支持Visa, Master Amex, Discover, JCB。

https://play.google.com/apps/publish/signup/

2.进入到管理中心,创建应用发布即可

进入了Google Play Console管理中心

https://zhuanlan.zhihu.com/p/602250391

相关推荐
松☆6 分钟前
深入实战:Flutter + OpenHarmony 分布式软总线通信完整实现指南
分布式·flutter
_李小白20 分钟前
【Android FrameWork】第二十九天:MediaPlayer和MediaRecorder
android
段子子31 分钟前
【flutter创建与配置】
flutter
casual_clover32 分钟前
【Android】通过 Paint 获取文本宽度、高度及行间距信息
android·文本字体宽高
song50140 分钟前
鸿蒙 Flutter 插件测试:多版本兼容性自动化测试
人工智能·分布式·flutter·华为·开源鸿蒙
游戏开发爱好者81 小时前
苹果App Store应用程序上架方式全面指南
android·小程序·https·uni-app·iphone·webview
2501_916008891 小时前
深入理解 iPhone 文件管理,从沙盒结构到开发调试的多工具协同实践
android·ios·小程序·https·uni-app·iphone·webview
千里马学框架1 小时前
聊一聊豆包AI手机助手高度敏感权限CAPTURE_SECURE_VIDEO_OUTPUT
android·ai·智能手机·安卓framework开发·车载开发·豆包手机助手
kirk_wang1 小时前
Flutter tobias 库在鸿蒙端的支付宝支付适配实践
flutter·移动开发·跨平台·arkts·鸿蒙
正经教主2 小时前
【Trae+AI】和Trae学习搭建App_1.2:第2章·App开发环境配置
android·学习·android studio