Appearance
初始化Shorebird项目
要实现热更新现在你不用焦虑改动项目模板,只需要将现有 Flutter 项目配置为使用 Shorebird,请shorebird init 在 Flutter 项目的根目录下使用。cd到你的应用目录下执行下面的命令行,即可初始化。
sh
shorebird init
初始化的过程中,你需要知道Shorebird,在初始化的过程中这做了三件事:
- 唯一的app_id Shorebird为您的应用创建一个独特的。这app_id就是 Shorebird 识别您的应用程序并知道要向其发送哪些更新的方式。它不需要保密。
- shorebird.yaml在项目的根目录中 创建一个文件。shorebird.yaml包含app_id上述内容。
- 添加shorebird.yaml到文件的资产部分pubspec.yaml,确保shorebird.yaml与应用程序的资产捆绑在一起,并且在运行时可供 Shorebird 更新程序使用。
由于设置被解耦,您可以安全地提交这些更改,在不使用 Shorebird 时它们不会对您的应用程序产生影响。
生成APPID
生成的内容shorebird.yaml应类似于:
sh
# This file is used to configure the Shorebird updater used by your application.
# Learn more at https://shorebird.dev
# This file should be checked into version control.
# This is the unique identifier assigned to your app.
# It is used by your app to request the correct patches from Shorebird servers.
app_id: 8c846e87-1461-4b09-8708-170d78331aca
如果您的应用程序包含flavor(渠道标识),shorebird init将为每种flaver创建一个应用程序,并将shorebird.yaml包括所有风味及其相应的app_ids:
sh
# This file is used to configure the Shorebird updater used by your application.
# Learn more at https://shorebird.dev
# This file should be checked into version control.
# This is the unique identifier assigned to your app.
# It is used by your app to request the correct patches from Shorebird servers.
app_id: 864ab1b0-ba78-4b15-990a-a63cec35a41b
flavors:
development: 864ab1b0-ba78-4b15-990a-a63cec35a41b
production: 6b6e6631-4fbe-4645-8d9d-d5247656d975
**这app_id是每个 中的必填字段shorebird.yaml。对于flavor,app_id将默认设置为第一个,并在构建时被覆盖为对应的flavor的app_id.
此外,你还需要修改AndroidManifest.xml 没有互联网权限,Code Push不能正常完成
xml
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
已经设置过的
如果您已经有了shorebird.yaml并且想要重新初始化您的项目,请使用shorebird init --force.这将覆盖您现有的shorebird.yaml并创建一个新的 app/app_id。重新初始化 shorebird 不会影响现有应用程序。