WRITE_EXTERNAL_STORAGE permission always requested

  • managed workflow
  • eas-cli/0.42.4 darwin-x64 node-v14.17.6

Building with EAS seems fine. Whenever I submit my android builds (also using EAS), the WRITE_EXTERNAL_STORAGE permission is requested. This isn’t the case when I use “classic” expo build.

app.json has the "permissions": [],set for android.

Can’t see any dependencies that would be bringing this in, unless someone knows better than me (I believe async-storage doesn’t require it?):

"dependencies": {
    "@react-native-async-storage/async-storage": "~1.15.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/native": "^5.9.4",
    "@react-navigation/stack": "^5.14.5",
    "expo": "~42.0.1",
    "expo-analytics-amplitude": "~10.2.0",
    "expo-constants": "~11.0.1",
    "expo-device": "~3.3.0",
    "expo-screen-orientation": "~3.3.0",
    "expo-splash-screen": "~0.11.2",
    "expo-status-bar": "~1.0.4",
    "fast-xml-parser": "^3.19.0",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz",
    "react-native-gesture-handler": "~1.10.2",
    "react-native-reanimated": "~2.2.0",
    "react-native-safe-area-context": "3.2.0",
    "react-native-screens": "~3.4.0",
    "react-native-web": "~0.13.12",
    "react-redux": "^7.2.4",
    "redux": "^4.1.0",
    "redux-devtools-extension": "^2.13.9",
    "redux-thunk": "^2.3.0"

Any ideas on how I can prevent this permission being requested on EAS?

In case it helps others, I ended up following the advice from this answer on another forum post.

Essentially, use the app.config.js functionality to add the (as far as I can tell totally undocumented?) AndroidConfig.Permissions.withBlockedPermissions plugin to remove the permission.

import { AndroidConfig } from "@expo/config-plugins";

export default ({ config }) => ({
  plugins: [
1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.