Flutter 打包 APK 和 IPA(Windows 易记版)
平时用 Windows 开发 Flutter,打包其实不用想得太复杂,直接记成两步就行:其中:这篇文章就按 易记、易上手 的方式来整理,适合刚接触 Flutter 打包的同学快速入门。Flutter 默认包名一般是:比如:正式项目里,一般都要改成自己的包名,比如:这一步直接记 4 件事:先在项目里全局搜索默认包名:然后统一替换成你自己的包名,比如:通常会搜到 Android 和 iOS 相关内容,
Flutter 打包 APK 和 IPA(Windows 易记版)
前言
平时用 Windows 开发 Flutter,打包其实不用想得太复杂,直接记成两步就行:
第一步:改包名和应用名称
第二步:构建
其中:
- Android 可以在本地直接构建 APK
- iOS 需要通过 Codemagic 云端构建 IPA
这篇文章就按 易记、易上手 的方式来整理,适合刚接触 Flutter 打包的同学快速入门。
目录
一、第一步:改包名和应用名称
二、第二步:构建 Android APK
三、第二步:通过 Codemagic 构建 iOS IPA
四、iOS 应用名称和 IPA 文件名的区别
五、总结
一、第一步:改包名和应用名称
Flutter 默认包名一般是:
com.example.项目名
比如:
com.example.flutter_test_project
正式项目里,一般都要改成自己的包名,比如:
com.quvanai.demo
这一步直接记 4 件事:
- 搜索旧包名
- 替换成新包名
- 修改对应目录
- 修改应用名称
1.1 先搜索,再替换
先在项目里全局搜索默认包名:
com.example.flutter_test_project
然后统一替换成你自己的包名,比如:
com.quvanai.demo
通常会搜到 Android 和 iOS 相关内容,直接统一替换即可。
1.2 再改目录
包名替换完之后,还要把对应目录一起改掉。
比如原来的目录可能是:
android/app/src/main/kotlin/com/example/flutter_test_project/
如果你的新包名是:
com.quvanai.demo
那么目录就要改成:
android/app/src/main/kotlin/com/quvanai/demo/
也就是说,原来包名对应的目录层级,也要改成新包名对应的目录层级。
注意
很多人只替换了包名,
但是没有改目录,最后就会编译报错。
1.3 Android 改应用名称
包名改好后,还要把应用显示名称改掉。
不然安装到手机上后,桌面显示的可能还是默认项目名。
比如默认显示的是:
flutter_test_project
你可以把它改成自己的正式名称,比如:
奇妙拉比
修改位置
打开文件:
android/app/src/main/AndroidManifest.xml
找到这一行:
android:label="flutter_test_project"
把引号里的内容改成你想显示的应用名称,比如:
android:label="奇妙拉比"
改完后,应用安装到 Android 手机桌面上,显示的名字就是你设置的这个名称。
1.4 iOS 改应用名称
iOS 这边也要改,不然安装到 iPhone 上后,显示的可能还是默认名称。
修改位置
打开文件:
ios/Runner/Info.plist
重点看这两个字段:
<key>CFBundleDisplayName</key>
<string>奇妙拉比</string>
<key>CFBundleName</key>
<string>qimiaolabi</string>
这两个字段的区别
CFBundleDisplayName
这是 给用户看的名字。
也就是 iPhone 桌面图标下面显示的应用名称。
CFBundleName
这是 应用内部名称。
它更偏构建和包信息层面。
推荐写法
如果你想让 iPhone 桌面显示中文名,同时尽量避免 Codemagic 产物命名混乱,建议这样写:
<key>CFBundleDisplayName</key>
<string>奇妙拉比</string>
<key>CFBundleName</key>
<string>qimiaolabi</string>
为什么这样写
因为实际使用时:
CFBundleDisplayName用中文,桌面显示正常CFBundleName用英文或拼音更稳- 尤其在 Codemagic 构建 IPA 时,更不容易出现奇怪的文件名问题
1.5 第一步小结
这一步其实就做四件事:
① 搜索旧包名
② 替换成新包名
③ 修改目录
④ 改应用名称
易记一句话
先替换包名,再修改目录,最后改应用名称。
二、第二步:构建 Android APK
Android 这一步最简单。
2.1 打开终端
在 Flutter 项目根目录打开终端。
2.2 执行打包命令
直接运行:
flutter build apk --release
2.3 等待构建完成
构建完成后,APK 文件一般会生成在:
build/app/outputs/flutter-apk/app-release.apk
2.4 找到 APK 并安装测试
找到这个 app-release.apk 文件后,
就可以发到 Android 手机上安装测试了。
2.5 Android 易记版
Android 构建其实就两步:
① 执行命令
flutter build apk --release
② 找到生成文件
build/app/outputs/flutter-apk/app-release.apk
易记一句话
运行打包命令,去输出目录拿 APK。
三、第二步:通过 Codemagic 构建 iOS IPA
Windows 下不能像 Android 一样本地直接打 IPA,
所以 iOS 这一步交给 Codemagic 来构建。
3.1 先把代码推到仓库
先把你已经改好包名和应用名称的 Flutter 项目,提交到 Git 仓库。
因为 Codemagic 是从代码仓库拉取项目来构建的。
3.2 在 Codemagic 里连接项目
登录 Codemagic,选择你的 Git 仓库,然后创建项目构建流程。
简单理解就是:
- 让 Codemagic 读取你的 Flutter 项目
- 让 Codemagic 帮你完成 iOS 云端构建

3.3 配置 iOS 签名
这一步最关键。
你需要在 Codemagic 里配置好:
- 证书
- 描述文件
- Bundle ID
这里一定要注意:
Bundle ID 要和你的项目包名保持一致。
比如你的项目包名是:
com.quvanai.demo
那 iOS 这边对应的 Bundle ID 也最好保持一致。
不然很容易在构建时出现签名不匹配的问题。

选择Build 模块Mode->release
选择Distribution

3.4 开始构建
签名配置好之后,直接在 Codemagic 里发起 iOS 构建。
构建完成后,就会生成 .ipa 文件。
3.5 下载 IPA
等构建成功后,直接在 Codemagic 的构建产物里下载 IPA 即可。
3.6 iOS 易记版
iOS 用 Codemagic,其实就记 4 步:
① 推代码到仓库
② Codemagic 连接项目
③ 配置证书和描述文件
④ 云端构建,下载 IPA
易记一句话
Windows 改项目,Codemagic 打 IPA。
四、iOS 应用名称和 IPA 文件名的区别
这个地方特别容易混淆,单独说一下。
4.1 手机桌面显示名
手机安装后,桌面上显示的名称,主要看:
CFBundleDisplayName
比如:
<key>CFBundleDisplayName</key>
<string>奇妙拉比</string>
那么 iPhone 桌面显示的就是:
奇妙拉比
4.2 IPA 文件名
Codemagic 构建出来的 .ipa 文件名,不一定完全等于桌面显示名。
很多时候你会发现:
- 手机桌面名称已经正确
- 但是 IPA 产物名仍然还是旧名字,甚至默认工程名
比如:
flutter_test_project.ipa
所以这里一定要分清楚:
应用显示名称 ≠ IPA 文件名称
4.3 推荐做法
最稳的写法是:
<key>CFBundleDisplayName</key>
<string>奇妙拉比</string>
<key>CFBundleName</key>
<string>qimiaolabi</string>
这样通常更容易得到:
- 手机桌面显示:奇妙拉比
- 构建产物名称:更接近 qimiaolabi.ipa
五、总结
整个 Flutter 打包流程,直接记成两步就够了。
第一步:改包名和应用名称
- 搜索旧包名
- 替换成新包名
- 修改对应目录
- 修改应用名称
Android 应用名称
改这里:
android/app/src/main/AndroidManifest.xml
改这一项:
android:label="你的应用名"
iOS 应用名称
改这里:
ios/Runner/Info.plist
推荐这样写:
<key>CFBundleDisplayName</key>
<string>奇妙拉比</string>
<key>CFBundleName</key>
<string>qimiaolabi</string>
第二步:构建
Android
本地执行:
flutter build apk --release
然后去这里拿 APK:
build/app/outputs/flutter-apk/app-release.apk
iOS
通过 Codemagic:
- 推代码
- 连接项目
- 配签名
- 构建 IPA
- 下载产物
最后一句话总结
先改包名和应用名称,再开始构建。
安卓本地打,苹果云端打。
更多推荐
所有评论(0)