Remove the request for location permissions from your app

Features should not be a problem. As far as I understand it they just specify the features that the phone must support. So if someone has a phone that has no gps or other location ability, then the Play Store will not allow the app to be installed. It does not mean the app will actually make use of location services.

Yarn and npm do basically the same job. They both install dependencies listed in package.json. Npm keeps track of the package versions etc. in package-lock.json and yarn uses yarn.lock for the same reason.

You should use npm or yarn to manage your dependencies. Not both. If you use npm, make sure you have deleted yarn.lock. If you use yarn, make sure you have deleted package-lock.json.

You should not have to edit package-lock.json or yarn.lock. Also, although it would be better if the app did not mebtion location in the features, I don’t believe it should cause a problem.

So, after you’ve made sure app.json and package.json are right and you only have one lock file, run npm install (if you’re using npm) or yarn (if you’re using yarn). Double check that you still only have one lock file. Then build the app again and that should work.

Alright, another issue could be that because of the first build there were 3 permissions declared, location, fine location are coarse location. I don’t see anywhere in the play store console to remove them.

Screen Shot 2020-11-22 at 4.26.36 PM

@lastof There is no where to turn it off. You will need to rebuild the expo with modified permissions based on recommendations above.

Removed yarn.lock, ran npm isntall again as well, only one lock file, and rebuilt and resubmitted, no luck, the app was still rejected and the declaration of location permissions (that i screenshot in my last post) was not removed.


The initial blocked version was an internal testing release, everything I submitted since then has been a production release, I’m also going to try and release another internal testing release to see if it overwrites the issues they have on file from the first.


Yep! that was it, after I uploaded a build to internal testing, it deactivated the first version which was stopping me from changing my location settings declaration, after that I was able to change it to say that I do not collect location data.

1 Like

Great! I’m glad you’ve figured out the fix. Thanks for letting us know.

I did sdk version 39. I deleted package-lock.json and then did npm install again. Then I got the build and the permissions look like this when I upload it to google. What did I miss?

Features (13)

13 COMMON

android.hardware.bluetooth, android.hardware.camera, android.hardware.camera.autofocus, android.hardware.location, android.hardware.location.gps, android.hardware.location.network, android.hardware.microphone, android.hardware.screen.landscape, android.hardware.screen.portrait, android.hardware.telephony, android.hardware.touchscreen, android.hardware.wifi, android.software.leanback

Screen layouts (4)

4 COMMON

small, normal, large, xlarge

Required permissions (48)

48 COMMON

android.permission.ACCESS_BACKGROUND_LOCATION, android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_NETWORK_STATE, android.permission.ACCESS_WIFI_STATE, android.permission.CAMERA, android.permission.FOREGROUND_SERVICE, android.permission.INTERNET, android.permission.MANAGE_DOCUMENTS, android.permission.MODIFY_AUDIO_SETTINGS, android.permission.READ_APP_BADGE, android.permission.READ_CALENDAR, android.permission.READ_CONTACTS, android.permission.READ_EXTERNAL_STORAGE, android.permission.READ_INTERNAL_STORAGE, android.permission.READ_PHONE_STATE, android.permission.RECEIVE_BOOT_COMPLETED, android.permission.RECORD_AUDIO, android.permission.SYSTEM_ALERT_WINDOW, android.permission.USE_BIOMETRIC, android.permission.USE_FINGERPRINT, android.permission.VIBRATE, android.permission.WAKE_LOCK, android.permission.WRITE_CALENDAR, android.permission.WRITE_EXTERNAL_STORAGE, android.permission.WRITE_SETTINGS, com.anddoes.launcher.permission.UPDATE_COUNT,