Expo Updates runtimeVersion cannot end with 0 on Android, 0 is removed
See original GitHub issueSummary
- Setting
runtimeVersion
inapp.json
to1.20
will get rounded to1.2
on Android when retrieving throughUpdates.runtimeVersion
. - As a result, OTA update cannot be delivered for version
1.20
as they are not considered compatible probably. AndroidManifest
displays the runtimeVersion value correctly as1.20
The issue has already been mentioned here https://github.com/expo/expo/issues/13349 but the underlying problem was not resolved and linked PR probably resolved something else.
Managed or bare workflow? If you have ios/
or android/
directories in your project, the answer is bare!
bare
What platform(s) does this occur on?
Android
SDK Version (managed workflow only)
44
Environment
expo-env-info 1.0.2 environment info: System: OS: macOS 12.1 Shell: 5.8 - /bin/zsh Binaries: Node: 16.9.0 - /usr/local/bin/node Yarn: 1.22.17 - /usr/local/bin/yarn npm: 7.21.1 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.2 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5 Android SDK: API Levels: 26, 27, 28, 30, 31, 32 Build Tools: 28.0.3, 29.0.2, 30.0.2, 30.0.3, 32.0.0 System Images: android-30 | Google Play Intel x86 Atom, android-31 | Intel x86 Atom_64, android-31 | Google APIs Intel x86 Atom_64, android-32 | Google APIs Intel x86 Atom_64, android-32 | Google Play ARM 64 v8a IDEs: Android Studio: 2021.1 AI-211.7628.21.2111.8193401 Xcode: 13.3/13E113 - /usr/bin/xcodebuild npmPackages: expo: ~44.0.0 => 44.0.6 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.3 => 0.64.3 react-native-web: 0.17.1 => 0.17.1 “expo-updates”: “~0.11.6”, Expo Workflow: bare
Reproducible demo
reproduction by running expo run:android --variant release
: https://github.com/AronBe/expo-runtime-version-error
See result:
Issue Analytics
- State:
- Created a year ago
- Comments:10 (6 by maintainers)
Runtime versions can’t start with
string:
but their Android-encoded form can start withstring:
. There isn’t end-to-end support for this yet. For now, we’ll likely change the runtime version regex to disallow trailing zeros.1.2.10 won’t get coerced to a float so that won’t cause a problem. 1.20 was the problem in the original report.