Remove the request for location permissions from your app

Hi!

I am having issues publishing an app to Google Play. I have been running some open tests and no errors has been reported.
However, when I am trying to publish for production I get the following error on Google Play:
You must remove the request for location permissions from your app if your target audience only includes children under the age of 13.

I am running latest expo-cli@3.23.3 expo@^38.0.0.
I have stated the following in app.json:

“android”: {
“permissions”:
},

Am I misunderstanding something here as I have set the default permissions to none?

It seems (from the Google dashboard) that the app wants permission to the following:
android.permission.ACCESS_BACKGROUND_LOCATION, android.permission.ACCESS_NETWORK_STATE, android.permission.ACCESS_WIFI_STATE, android.permission.FOREGROUND_SERVICE, android.permission.INTERNET, android.permission.MODIFY_AUDIO_SETTINGS, android.permission.READ_APP_BADGE, android.permission.RECEIVE_BOOT_COMPLETED, android.permission.REQUEST_INSTALL_PACKAGES, android.permission.STORAGE, android.permission.SYSTEM_ALERT_WINDOW, android.permission.USE_BIOMETRIC, android.permission.WAKE_LOCK, com.google.android.c2dm.permission.RECEIVE, com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE, com.huawei.android.launcher.permission.CHANGE_BADGE, com.huawei.android.launcher.permission.READ_SETTINGS, com.huawei.android.launcher.permission.WRITE_SETTINGS, com.oppo.launcher.permission.READ_SETTINGS, com.oppo.launcher.permission.WRITE_SETTINGS, com.qvickt.maxabc.permission.C2D_MESSAGE, com.sonymobile.home.permission.PROVIDER_INSERT_BADGE, host.exp.exponent.permission.C2D_MESSAGE, me.everything.badger.permission.BADGE_COUNT_READ, me.everything.badger.permission.BADGE_COUNT_WRITE

What can I do to solve this? Do I need to eject and change the permission separately in the manifest.xml or what do you think?

I think android.permission.ACCESS_BACKGROUND_LOCATION is the issue here.

Your help is much appreciated.

Thanks.

BR,

Richard

3 Likes

I having same problem , My app has been rejected second time already…waiting for possible solution

3 Likes

Same problem here. According to listed app permissions, location is not asked.

Used packages:

    "@aws-amplify/auth": "^3.3.1",
    "@aws-amplify/core": "^3.4.2",
    "@expo/vector-icons": "^10.0.0",
    "@react-native-community/datetimepicker": "2.4.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "5.9.2",
    "aws-amplify": "^3.0.20",
    "expo": "^38.0.0",
    "expo-asset": "~8.1.7",
    "expo-asset-utils": "^1.2.0",
    "expo-av": "~8.2.1",
    "expo-font": "~8.2.1",
    "expo-keep-awake": "~8.2.1",
    "expo-linear-gradient": "~8.2.1",
    "i18n": "^0.8.3",
    "i18next": "^17.1.0",
    "lottie-react-native": "~2.6.1",
    "native-base": "^2.13.8",
    "react": "16.11.0",
    "react-devtools": "^4.8.2",
    "react-i18next": "^10.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
    "react-native-easy-grid": "^0.2.2",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-reanimated": "~1.9.0",
    "react-native-safe-area-context": "~3.0.7",
    "react-native-screens": "~2.9.0",
    "react-native-star-rating": "^1.1.0",
    "react-native-svg": "12.1.0",
    "react-navigation": "^4.4.0",
    "react-navigation-stack": "^2.8.2",
    "react-navigation-tabs": "^2.9.0",
    "react-redux": "^7.1.1",
    "redux": "^4.0.4",
    "redux-thunk": "^2.3.0",
    "sentry-expo": "^2.1.2",
    "uuid": "^3.3.3"

Same error for me
packages :

    "@react-native-community/netinfo": "5.9.2",
    "async": "^3.1.0",
    "axios": "^0.19.0",
    "expo": "^38.0.0",
    "expo-asset": "~8.1.7",
    "expo-av": "~8.2.1",
    "expo-file-system": "~9.0.1",
    "expo-font": "~8.2.1",
    "expo-screen-orientation": "~1.1.1",
    "react": "16.11.0",
    "react-dom": "16.11.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
    "react-native-check-box": "^2.1.7",
    "react-native-device-detection": "^0.2.0",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-reanimated": "~1.9.0",
    "react-native-screens": "~2.9.0",
    "react-native-web": "~0.11.7",
    "react-navigation": "^3.11.0",
    "react-redux": "^7.1.0",
    "redux": "^4.0.1",
    "redux-persist": "^5.10.0"
  }```

Having the same issue

I’m having the same issue

I’m also having the same issue, so, I’m trying to eject the app from Expo but this time I can’t run it crashes.

We need a solution for these permissions.

3 Likes

After I updated my app.json based on here: app.json / app.config.js - Expo Documentation

The permission count drop to 28 from 50. However still there’s a background location which is required by expo in package-lock.json

my app.json

"permissions": ["WRITE_EXTERNAL_STORAGE", "READ_EXTERNAL_STORAGE", "READ_INTERNAL_STORAGE"]

I think I need these permission for AsyncStorage.

Here’s the full list for Android after my update:

android.permission.ACCESS_BACKGROUND_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.FOREGROUND_SERVICE
android.permission.INTERNET
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.READ_APP_BADGE
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_INTERNAL_STORAGE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.STORAGE
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_BIOMETRIC
android.permission.WAKE_LOCK
android.permission.WRITE_EXTERNAL_STORAGE
co.ferheng.android.permission.C2D_MESSAGE
com.google.android.c2dm.permission.RECEIVE
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
com.huawei.android.launcher.permission.CHANGE_BADGE
com.huawei.android.launcher.permission.READ_SETTINGS
com.huawei.android.launcher.permission.WRITE_SETTINGS
com.oppo.launcher.permission.READ_SETTINGS
com.oppo.launcher.permission.WRITE_SETTINGS
com.sonymobile.home.permission.PROVIDER_INSERT_BADGE
host.exp.exponent.permission.C2D_MESSAGE
me.everything.badger.permission.BADGE_COUNT_READ
me.everything.badger.permission.BADGE_COUNT_WRITE
1 Like

Anyone found a solution to this?

Thanks

1 Like

Is there any workaround on this ?

1 Like

I am getting the same issue. I set android.permissions to [] in app.json and I am still being told I am requesting location permission

1 Like

Seems like a lot of people have this issue. Would it be possible if any EXPO staff could comment on this? I am still having the same issue. Thanks!

9 Likes

Our users also ask about these permissions. I had to put this information in our privacy policy. Because of these permissions; I have low download numbers and high uninstall counts on Android platform. Of course there might be other issues with my app, or for any other reason but privacy is important and I care about it.

Really would be great to remove the permission without ejecting the app from EXPO. I’m okay to give up on OTA for that.

2 Likes

I have raised the same issue here : By default my expo app includes a lot of permissions · Issue #10206 · expo/expo · GitHub

Let’s see if there’s an option without ejecting from expo

1 Like

Has anyone tried this with the new Expo SDK 39? Did I work to eject my project for nothing (just got it working after 3 days of debugging).

Having the same problem with 39, See:
https://forums.expo.dev/t/unable-to-remove-access-background-location/43666

Facing same issue here for the following permissions, even though none of them is needed, nor explicitly asked for in my project:

  • android.permission.ACCESS_BACKGROUND_LOCATION

  • android.permission.ACCESS_COARSE_LOCATION

  • android.permission.ACCESS_FINE_LOCATION

Any idea how to solve this?

1 Like

Hi. In Bare workflow this worked for me in AndroidMainfest.xml:

"<manifest xmlns…

Ref: https://docs.expo.io/versions/latest/sdk/permissions/#excluding-android-permissions-in-bare-workflow

3 Likes

Also getting this issue. A really simple Expo app with no permissions requested OR required - yet GooglePlay rejecting as we are allegedly requesting the following:

Permissions:
android.permission.ACCESS_BACKGROUND_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
  "android": {
      "icon": "./assets/images/512x512Icon.png",
      "package": "com.appName",
      "versionCode": 1
    }

Does having NO permissions requested default to these three in Expo? Is Expo tracking our users?

1 Like

I had this issue too. It is gone after:

  1. removing manually all dependencies, related to “expo-location” in package-lock.json
  2. Adding empty array as a value of the “permissions” property in the app.json
    "android": { "permissions": [], ... }
3 Likes