Flutter应用发布管理插件publisher的使用
Flutter应用发布管理插件publisher的使用
本工具用于跨平台应用的自动化发布。
Google Play
使用Google Play功能需要一个具有正确权限的Google云服务账户。请参阅Google的文档获取更多信息。
非常重要:
GOOGLE_APPLICATION_CREDENTIALS
环境变量需要设置为包含您的服务账户密钥的JSON文件的正确路径。
上传应用包
publisher googleplay uploadBundle -p PATHTOAPPBUNDLE -n PACKAGENAME
创建新版本
publisher googleplay release -n PACKAGENAME -t TRACK -v VERSION -s STATUS --releaseName RELEASENAME --releaseNotes NOTES
App Store Connect
非常重要: 需要正确配置以下三个环境变量:
APPLE_API_KEY
包含API密钥的p8文件的路径APPLE_API_KEY_ISSUER
API密钥的颁发者APPLE_API_KEY_ID
API密钥的ID
要获取您的认证凭据,请遵循Apple的文档。
指南
列出所有配置文件
publisher appstoreconnect listProfiles
安装特定配置文件(仅限MacOS)
publisher appstoreconnect installProfile --profileId <your profile id>
坑点
与Google Play相关的
如果您看到以下错误:
Error 400: Only releases with status draft may be created on draft app
您首先需要将您的应用从草稿状态中移除。
这可以通过手动上传一个版本到Closed Testing
轨道来实现。
特性和问题
请在问题跟踪器中提交特性请求和错误报告。
示例代码
// 示例代码不能提供。
// 请查看README以获取进一步说明。
更多关于Flutter应用发布管理插件publisher的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用发布管理插件publisher的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter应用中,使用publisher
插件可以帮助你自动化应用的发布流程,特别是当你需要将应用发布到多个平台(如Google Play Store和Apple App Store)时。尽管Flutter社区中没有一个直接名为publisher
的官方插件,但我们可以讨论如何使用一些社区插件和脚本来实现类似的功能。
通常,发布管理涉及到以下几个步骤:
- 构建应用:为不同平台构建应用包。
- 签名应用:对Android应用进行签名,对iOS应用进行打包。
- 上传应用到应用商店:使用各应用商店的API或CLI工具上传构建好的应用包。
以下是一个使用Flutter和一些社区插件及脚本的示例,来展示如何自动化这些步骤。这里我们将使用flutter_launcher_icons
来生成应用图标,fastlane
来管理发布流程,以及Flutter自身的构建命令。
1. 配置flutter_launcher_icons
首先,添加flutter_launcher_icons
到你的pubspec.yaml
中,以生成应用图标。
dev_dependencies:
flutter_test:
sdk: flutter
flutter_launcher_icons: "^x.x.x" # 替换为最新版本号
flutter_icons:
android: true
ios: true
image_path: "assets/icon/icon.png"
然后运行以下命令生成图标:
flutter pub get
flutter pub run flutter_launcher_icons:main
2. 使用fastlane
进行发布管理
fastlane
是一个流行的自动化工具,可以极大地简化iOS和Android应用的发布流程。
安装fastlane
确保你已经安装了Ruby,然后运行以下命令安装fastlane
:
sudo gem install fastlane -NV
配置fastlane
在你的Flutter项目根目录下初始化fastlane
:
fastlane init
按照提示选择你的平台和自动化任务。fastlane
将生成两个文件:Fastfile
和Appfile
。
编辑Fastfile
以下是一个简单的Fastfile
示例,用于构建和上传Android和iOS应用:
default_platform(:android)
platform :android do
desc "Build and release a new version to the Google Play Store"
lane :release do
gradle(task: "assembleRelease")
upload_to_play_store(
track: "production",
apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],
json_key_data: File.read("path/to/your/serviceAccountKey.json"), # Google Play API密钥文件路径
package_name: "com.your.package.name"
)
end
end
platform :ios do
desc "Build and release a new version to TestFlight and App Store"
lane :release do
build_app(scheme: "Runner", export_method: "app-store")
upload_to_testflight(skip_submission: true)
# 提交到App Store(可选)
# submit_to_app_store(force: true)
end
end
3. 运行发布流程
一旦配置完成,你可以通过以下命令运行发布流程:
fastlane android release
或
fastlane ios release
总结
虽然没有一个名为publisher
的官方Flutter插件专门用于发布管理,但结合使用flutter_launcher_icons
、fastlane
以及Flutter自身的构建命令,你可以实现高度自动化的发布流程。上述代码案例提供了一个基本的框架,你可以根据自己的需求进一步定制和扩展。