我经常使用expo publish
允许OTA(“空中下载”)更新而无需在商店中进行常规发布的事实(有关我的上一个问题Do OTA updates in Expo get in motion on the first opening after brand new download from the stores?的更多信息)。
现在我正从APK迁移到Android App Bundle,因此我可以使用:
expo build:android -t app-bundle
代替先前的expo build:android -t apk
,如Expo文档Building Standalone Apps中所述。
但是,在他们网站的文章Publishing中,我也读到了:
某些本地配置无法通过发布进行更新
- 增加Expo SDK版本
(...)- 更改assetBundlePatterns下的捆绑资产
所以现在我不禁要问:如果我使用“ .aab”文件(Android应用程序捆绑包)在商店中发布,它也可以通过expo publish
用于OTA更新吗?
答案 0 :(得分:1)
简短的回答:是的。
这是一个有效的问题,因为两者都有“ bundle”一词,但捆绑的资产独立于Android App Bundle。
来自Expo的Configuration with app.json:
"assetBundlePatterns"
文件全局字符串数组,指向将捆绑在独立应用程序二进制文件中的资产。在Offline Support guide
中了解更多信息
来自Expo的Offline Support:
将资产捆绑在独立的二进制文件中
Expo可以在构建过程中将资产捆绑到您的独立二进制文件中,以便即使用户以前从未运行过您的应用程序也可以立即使用它们。这在以下情况下很重要:
- 您的用户在首次打开您的应用时可能没有互联网,或者
- 如果您的应用依靠大量资产才能使第一个屏幕正常运行。
要将资产打包成二进制文件,请使用
app.json
中的assetBundlePatterns键在项目目录中提供路径列表:"assetBundlePatterns": [ "assets/images/*" ],
路径与给定模式匹配的图像将在下次运行
expo build
时捆绑到本机二进制文件中。
捆绑资产只是您要立即包含在应用程序中的图像和其他资产,可用于iOS和Android版本。