Skip to content

初始化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 不会影响现有应用程序。

仅用于培训和测试,通过使用本站代码内容随之而来的风险与本站无关。版权所有,未经授权请勿转载,保留一切权利。
ICP备案号:滇ICP备15009214号-13   公安网备:滇公网安备 53312302000061号