Flutter 打包发布 APK 全流程详解(含签名与版本配置)
发布于
本文阅读量:次

文章目录 ☰
本文记录了 Flutter 项目打包发布 Android APK 的完整流程,包含签名、包名、版本号、图标、应用名等常见配置,适合开发者查阅和实操。
1. 替换 Android 应用图标
将你的应用图标分别放置到 android/app/src/main/res/
目录下对应的 mipmap 文件夹中,覆盖原有的 ic_launcher.png
文件。
2. 修改应用名称
编辑 android/app/src/main/AndroidManifest.xml
,设置 android:label
属性为你的应用名称:
<application
android:label="你的APP名称"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity ... />
</application>
3. 设置应用版本号
在项目根目录的 pubspec.yaml
文件中,找到 version:
字段:
version: 1.0.0+1
1.0.0
为版本号,+1
为构建号。每次发布新版本时,建议递增构建号。
4. 生成签名文件(Keystore)
在终端执行以下命令生成签名文件:
keytool -genkey -v \
-keystore ~/upload-keystore.jks \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-alias upload
~/upload-keystore.jks
可自定义路径和文件名,后续配置需保持一致。
5. 配置签名信息
在 android
目录下新建 key.properties
文件,内容如下:
storePassword=你的密码
keyPassword=你的密码
keyAlias=upload
storeFile=../../key/upload-keystore.jks
keyAlias
与生成 keystore 时的-alias
参数一致storeFile
路径为 keystore 文件实际位置
6. 配置 Gradle 签名
编辑 android/app/build.gradle.kts
,完成如下配置:
顶部导入
import java.util.Properties
import java.io.FileInputStream
android
块内添加签名配置
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String ?: "upload"
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String
}
}
修改buildTypes
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("release")
}
}
7. 修改包名(可选)
如需更改包名,修改如下字段,并全局替换项目中的包名:
namespace = "com.example.flutter_app"
applicationId = "com.example.flutter_app"
8. 设置最低和目标 SDK 版本
在 android/app/build.gradle
的 defaultConfig
中设置:
defaultConfig {
applicationId = "com.example.flutter_app"
minSdkVersion(21) // 最低支持 Android 5.0
targetSdkVersion(34) // 目标 Android 14
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
9. 打包 APK
在项目根目录下执行:
flutter build apk --release
- 打包完成后,APK 文件位于
build/app/outputs/flutter-apk/app-release.apk
常见问题与建议
- 签名失败? 检查
key.properties
路径和内容是否正确,密码是否一致。 - 包名冲突? 全局搜索替换包名,确保所有引用一致。
- 版本号未更新? 检查
pubspec.yaml
和build.gradle
的版本号配置。
如有更多 Flutter 打包相关问题,欢迎留言交流!
其他Flutter相关文章: Flutter运行报错:NDK缺少source.properties文件的解决方法
版权声明
未经授权,禁止转载本站文章。如需转载必须保留原文链接并注明出处。
只要保留链接并注明出处,即视为默认获得授权。未注明出处或删除链接将视为侵权,必追究法律责任!