This is a repost of my unanswered and locked thread
I am building a navigation app for Android with intensive use of the device’s compass. I use the DeviceMotion API from ‘expo-sensors’ in order to get the user’s device orientation relative to the north.
The problem I am facing is that my app appears and is downloadable from the search results of the PlayStore even if the user doesn’t have a compass in its device. But without this sensor, the app simply doesn’t work.
After uploading the
.aab bundle to the Google Play console, here is what I see :
android.hardware.sensor.compass is missing. I believe this is due to the line
<uses-feature android:name="android.hardware.sensor.compass" android:required="true" /> missing in the generated
AndroidManifest.xml file. This is the line responsible of the compatibility check with the user device.
Is there a way to declare the use of this feature in managed workflow, or is this behaviour missing ?
Expo CLI 4.1.6 environment info: System: OS: macOS Mojave 10.14.6 Shell: 5.3 - /bin/zsh Binaries: Node: 12.18.0 - ~/.nvm/versions/node/v12.18.0/bin/node Yarn: 1.17.3 - ~/.yarn/bin/yarn npm: 6.14.4 - ~/.nvm/versions/node/v12.18.0/bin/npm SDKs: iOS SDK: Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1 Android SDK: API Levels: 28 Build Tools: 28.0.3, 29.0.3 System Images: android-22 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom IDEs: Android Studio: 3.6 AI-192.7220.127.116.1141897 Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild npmPackages: @expo/webpack-config: ~0.12.45 => 0.12.51 expo: ^40.0.0 => 40.0.0 react: 16.13.1 => 16.13.1 react-dom: 16.13.1 => 16.13.1 react-native: https://github.com/expo/react-native/archive/sdk-40.0.0.tar.gz => 0.63.2 react-native-web: ~0.13.12 => 0.13.18 npmGlobalPackages: expo-cli: 4.1.6 Expo Workflow: managed