如果应用程序是通过捆绑发布的,Expo中的OTA更新是否有效?

时间:2019-12-12 16:36:28

标签: android react-native expo android-bundle

我经常使用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更新吗?

1 个答案:

答案 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版本。