【发布时间】:2022-08-21 06:20:31
【问题描述】:
我试图弄清楚如何在我的 React Native 应用程序(适用于 Android)中为 OTA 更新配置 expo-updates。如果我理解正确,我需要一种对版本进行版本控制的方法,以便正确的更新进入人们可能已安装在其设备上的应用程序的正确版本。这可以通过两种方式实现(请注意,我使用expo-cli 来管理我的工作流程):
-
通过
runtimeVersion,在AndroidManifest.xml文件中的expo.modules.updates.EXPO_RUNTIME_VERSION中设置:... <meta-data android:name=\"expo.modules.updates.EXPO_RUNTIME_VERSION\" android:value=\"1.001\"/> ...在这种情况下,我必须增加运行时版本每次我进行涉及安装新软件包或任何其他与JavaScript的应用程序。
-
通过
sdkVersion,在expo.modules.updates.EXPO_SDK_VERSION中设置AndroidManifest.xml文件:... <meta-data android:name=\"expo.modules.updates.EXPO_SDK_VERSION\" android:value=\"44.0.0\"/> ...在这种情况下,我还必须增加开发工具包版本每次我像之前描述的那样做一个大的改变。
因此,这是我理解可以管理这些版本(一种或另一种)的两种可能方式。但是,我对参数
sdkVersion和runtimeVersion也存在于文件app.json中这一事实感到困惑。... \"name\": \"MyApp\", \"expo\": { \"name\": \"MyApp\", \"slug\": \"myapp\", \"version\": \"1.0.0\", \"runtimeVersion\": \"1.001\", \"icon\": \"./assets/icon.png\", ...或者
... \"name\": \"MyApp\", \"expo\": { \"name\": \"MyApp\", \"slug\": \"myapp\", \"version\": \"1.0.0\", \"sdkVersion\": \"44.0.0\", \"icon\": \"./assets/icon.png\", ...这是定义这些参数的另一种方式吗?这肯定比挖掘
AndroidMainfest.xml容易得多。此外,app.json和packages.json中还有其他与版本相关的参数,例如version。这些与同一件事有关,还是完全不同?最后,在这两种情况下,版本号格式的一般约定是什么?
标签: react-native expo versioning automatic-updates expo-updates