skip to Main Content

I built my app with expo SDK 44 but when I tried pushing the app to Play Store, Google blocked it saying that I should have an API Level of 31 while I only have 30, after some research I found out that I should upgrade my expo SDK to 46. I did that but since then I’m running into some weird Errors, I’ve spent 3 days looking for a solution but still nothing is working.
Here’s my package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "setup": "./scripts/setup.sh",
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "eject": "expo eject"
  },
  "dependencies": {
    "@astrocoders/react-native-selectable-text": "^1.5.1",
    "@babel/preset-typescript": "^7.16.7",
    "@react-native-community/blur": "^3.6.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "9.3.0",
    "@react-native-community/slider": "4.2.3",
    "@react-native-firebase/app": "~15.4.0",
    "api-ecommerce": "^1.0.3",
    "babel-preset-env": "^1.7.0",
    "base-64": "1.0.0",
    "body-parser": "^1.20.0",
    "consolidate": "^0.16.0",
    "crypto-js": "4.1",
    "currency-formatter": "1.5.9",
    "ejs": "^3.1.7",
    "expo": "^46.0.0",
    "expo-ads-admob": "~12.0.1",
    "expo-ads-facebook": "~11.1.1",
    "expo-app-loading": "~2.1.0",
    "expo-apple-authentication": "~4.3.0",
    "expo-asset": "~8.6.1",
    "expo-av": "~12.0.4",
    "expo-constants": "~13.2.4",
    "expo-facebook": "~12.1.1",
    "expo-file-system": "~14.1.0",
    "expo-font": "~10.2.0",
    "expo-linear-gradient": "~11.4.0",
    "expo-notifications": "~0.16.1",
    "expo-permissions": "~13.2.0",
    "expo-status-bar": "~1.4.0",
    "expo-updates": "~0.14.6",
    "expo-web-browser": "~11.0.0",
    "express": "^4.18.1",
    "firebase": "9.7.0",
    "html-entities": "2.3.3",
    "htmlparser2": "^8.0.1",
    "jetifier": "^2.0.0",
    "lodash": "^4.17.21",
    "moment": "^2.29.3",
    "native-base": "^3.4.4",
    "node": "^17.7.2",
    "oauth-1.0a": "^2.2.6",
    "path": "0.12.7",
    "paypal-rest-sdk": "^1.8.1",
    "prop-types": "^15.8.1",
    "radio-buttons-react-native": "^1.0.4",
    "react": "18.0.0",
    "react-instantsearch": "6.24.1",
    "react-native": "0.69.5",
    "react-native-animatable": "1.3.3",
    "react-native-app-intro-slider": "4.0.4",
    "react-native-clean-form": "0.5.0",
    "react-native-code-push": "^7.0.4",
    "react-native-collapsible": "1.6.0",
    "react-native-country-picker-modal": "2.0.0",
    "react-native-drawer": "git+https://github.com/luyx2412/react-native-drawer.git",
    "react-native-fluid-slider": "1.0.2",
    "react-native-image-zoom-viewer": "3.0.1",
    "react-native-iphone-x-helper": "^1.3.1",
    "react-native-keyboard-aware-scroll-view": "0.9.5",
    "react-native-loading-spinner-overlay": "^2.0.0",
    "react-native-masked-text": "1.13.0",
    "react-native-measure-text": "^1.0.0-alpha.2",
    "react-native-modal": "^13.0.1",
    "react-native-modal-with-blur-support-background": "^1.0.0",
    "react-native-modalbox": "^2.0.2",
    "react-native-modals": "^0.22.3",
    "react-native-multi-select-picker": "^1.0.11",
    "react-native-multi-selectbox": "^1.5.0",
    "react-native-paper": "4.12.1",
    "react-native-parallax": "0.3.0",
    "react-native-paypal-gateway": "^1.0.0",
    "react-native-paypal-lib": "^1.0.9",
    "react-native-progress": "^5.0.0",
    "react-native-progress-circle": "^2.1.0",
    "react-native-progress-wheel": "^1.0.5",
    "react-native-radio-buttons": "1.0.0",
    "react-native-rate": "^1.2.9",
    "react-native-really-awesome-button": "^1.6.0",
    "react-native-reanimated": "~2.9.1",
    "react-native-render-html": "^6.3.4",
    "react-native-restart": "^0.0.24",
    "react-native-safe-area-context": "4.3.1",
    "react-native-screens": "~3.15.0",
    "react-native-scrollable-tab-view": "1.0.0",
    "react-native-side-menu": "1.1.3",
    "react-native-sliding-modal": "^2.1.0",
    "react-native-snap-carousel": "3.9.1",
    "react-native-spacer": "^1.7.0",
    "react-native-star-rating": "1.1.0",
    "react-native-svg": "12.3.0",
    "react-native-swipe-list-view": "3.2.9",
    "react-native-swiper": "^1.6.0",
    "react-native-tag-select": "^2.0.0",
    "react-native-unordered-list": "^1.0.4",
    "react-native-webview": "11.23.0",
    "react-native-webview-messaging": "^2.0.0-alpha.4",
    "react-navigation": "^4.4.4",
    "react-navigation-header-buttons": "9.0.1",
    "react-navigation-props-mapper": "3.1.0",
    "react-navigation-stack": "^2.10.4",
    "react-navigation-tabs": "^2.11.2",
    "react-redux": "8.0.1",
    "react-smart-payment-buttons": "^0.2.3",
    "redux": "4.2.0",
    "redux-actions": "2.6.5",
    "redux-persist": "^5.10.0",
    "redux-thunk": "2.4.1",
    "reselect": "4.1.5",
    "sweetalert2": "^11.4.10",
    "tcomb-form-native": "0.6.20",
    "urijs": "^1.19.11",
    "url": "0.11.0",
    "url-parse": "^1.5.10",
    "util": "0.12.4",
    "uuid": "8.3.2",
    "validate.js": "0.13.1",
    "wpapi": "^1.2.2"
  },
  "devDependencies": {
    "@babel/preset-react": "^7.16.7",
    "babel-jest": "28.0.3",
    "babel-plugin-transform-remove-console": "6.9.4",
    "babel-preset-expo": "~9.2.0",
    "babel-preset-react-native": "4.0.1",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jsx-a11y": "^6.5.1",
    "eslint-plugin-react-hooks": "^4.5.0",
    "jest": "^26.6.3",
    "reactotron-react-native": "^5.0.1",
    "reactotron-redux": "3.1.3"
  },
}

And these are the errors I’m getting:
enter image description here
enter image description here

2

Answers


  1. For the ViewProp error check this github

    You’ll need to search through all your app for the ViewProp and import it from deprecated-react-native-prop-types now(including node modules).

    Login or Signup to reply.
  2. as a workaround u can keep Expo version 44. just upgrade targetSdkVersion and compileSdkVersion inside android/build.gradle to 31 upload a new build then Google won’t complaint anymore.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search